查看我的vs2010 配置
文件 - 高级保存选项 - 编码 - GB2312
项目 - 属性 - 配置属性 - 常规 - 字符集 - 使用UNICODE 字符集
GB2312
(详细解释见
http://www.qianxingzhem.com/post-1499.html
不止解释了这一种编码方式,写的非常易懂,值得一读)
默认情况下,vs中 存储 ”string“ 时,会存储为 ascii 码格式,即英文字母以及各种字符存储为单字节,中文汉字存储为双字节
如图可见字符串编码方式的不同,默认情况下,英文以及其他字符会被保存为1个字节,中文保存为两个字节。
而使用 Unicode方式,以宽字节方式存储时英文和其他字符以及中文均保存为两个字节。
而在使用 win32 API 的时候,许多输入参数都需要使用 Unicode 编码方式,如果这时还使用 GB2312 方式编码就会造成字符串乱码,从而保存或者函数无法正确执行。
这时可以使用 L“string” 或 __TEXT(string)的方式将字符串存储为宽字节。
例: