const.char类型形参与LPWSTR类型的实参不兼容
来源:互联网 发布:java redis2.9 教程 编辑:程序博客网 时间:2024/06/02 09:44
我们在用VS2012,VS2013编译自己或者网上的源代码时会提示如下错误“LPWSTR类型的实参与const.char类型形参不兼容”,如果我们在VC6.0上运行时不会提示这个错误的。主要原因是VC6默认使用字符ANSI编码方式而VS2012、VS2013默认使用UNICODE编码方式。它们对一些字符所占内存空间的位数不同,为了向下兼容,可以在VS中通过修改一项设置来完成。
1. 右击项目文件,选择属性,【配置属性】-【常规】-【字符集】
更改字符集为:使用多字节字符集
单击确定即可,再次编译,此类错误就不会出现了。
LPCWSTR=const wechar_t*
为了满足程序代码的国际化需要,业界推出了Unicode标准,它提供了一种简单和一致的表达字符串的方法,所有字符串中的字节都是16位的值,其数量也可以满足差不多世界上所有书面语言字符的编码需求,开发程序时使用Unicode(类型为wchar_t)是一种被鼓励的做法。
LPWSTR与LPCWSTR由此产生,它们的含义类似于LPSTR与LPCSTR,只是字符数据时16位的wchar_t而不是char.
ANSI操作函数以str开头,如strcpy(), strcat(), strlen();
Unicode操作函数以wcs开头,如wcscpy, wcscpy(), wcslen();
VS默认采用宽字符UNICODE编码方式,定义了Unicode,因此相关的字符串必须为unicode字符串,而非ascii字符串,LPCWSTR中的W是块子符的意思,是Unicode,就是说不是传统的char这种单字节字符,而是一个字符占两字节。
配置属性-【C/C++】-【预处理器】-【预处理器定义】
看看有没有UNICODE/_UNICODE,有的话就去掉,
- “VS ERROR:const.char 类型形参与LPWSTR 类型的实参不兼容 ”的解决办法
- “VS 2013 ERROR:const.char* 类型形参与LPWSTR 类型的实参不兼容 ”的解决办法
- const.char 类型形参与LPWSTR 类型的实参不兼容
- const.char类型形参与LPWSTR类型的实参不兼容
- const.char 类型形参与LPWSTR 类型的实参不兼容
- const.char 类型形参与LPWSTR 类型的实参不兼容
- const char* 类型形参与LPWSTR 类型的实参不兼容
- vs2010编译 时 char* 类型形参与LPWSTR 类型的实参不兼容 的解决办法
- 在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决
- Error:“const char *”类型的实参与“LPCWSTR”类型的形参不兼容的解决方法
- Error:“const char *”类型的实参与“LPCWSTR”类型的形参不兼容的解决方法
- 关于“Error: "const char *" 类型的实参与 "LPCWSTR"类型的形参不兼容”错误的解决方案
- 关于“Error: "const char *" 类型的实参与 "LPCWSTR"类型的形参不兼容”错误的解决方案
- IntelliSense: "const char *" 类型的实参与 "LPCTSTR" 类型的形参不兼容 (vs2010)
- IntelliSense: "const char *" 类型的实参与 "LPCTSTR" 类型的形参不兼容 (vs2010)
- "const char*"类型的实参与LPCTSTR类型的形参不兼容
- "const char*"类型的实参与LPCTSTR类型的形参不兼容
- const char*类型的实参与LPCTSTR类型的形参不兼容 MFC
- 目标检测相关文章及源码
- Linux学习笔记3 常用shell命令
- Linux内核模块简介
- Ubuntu 14.04 64位安装 Google 的 Tensorflow
- 菜鸟学习maven的安装配置
- const.char类型形参与LPWSTR类型的实参不兼容
- unityCG库
- 有关tag值
- bool型变量的赋值和运算
- 放点自己的东西
- leetcode 26. Remove Duplicates from Sorted Array
- 动画插值器
- 关于DataGridView的使用
- new/delete 与 malloc/free的区别是什么?