请教字符串,字符集问题:为什么我在VS2008下进行C++编程时,字符串老是要加 L 宏才能正确执行?比如:file.open(L"C:\\Users\\Administrator\\Desktop\\test.txt");或cout<<L"这样好麻烦啊!"<<endl;—————————————————————纠结分割线———————————————————————————字符串为什么老是要加 L 宏才能正确执行?这做写起来麻烦死了,大家是怎么解决的?还是你们也是这样?求分析,求解释,求解决,求指点!高人来嘛!
==============
这是因为VS2008默认的编码是UNICODE,所以要加L或是加_T("XXXX")这样才能保证字符串在编译时按UNICODE编码,而以前的VC6默认编码是ANSI,所以不用加。
解决方法很简单,你在[项目]--->[属性]---->[配置属性]中的“字符集”里选“使用多字节字符集”就行了。
file.open("C:\\Users\\Administrator\\Desktop\\测试\\test123.txt");
这样的话,路径老读不到,带中文就不行了,怎么解决?
file.open("C:\\Users\\Administrator\\Desktop\\测试\\test123.txt");
这样的话,路径老读不到,带中文就不行了,怎么解决?
===========
不管是ANSI还是UNICODE,都是支持中文的,所以这个应该不是编码的原因造成的。