2 zhuwt2008 zhuwt2008 于 2016.01.27 16:24 提问

C++.NET项目属性中常规中的字符集选择项是什么作用??

假如将这个选择项设置为“使用Unicode字符集”,但是我的程序字符串是用std::string和char,而不是std::wstring和wchar_t,程序不是一样采用多字节字符集吗?这个选项能发挥什么作用呢??

3个回答

91program
91program   Ds   Rxr 2016.01.27 16:41
已采纳

设置了字符集,但其它的字符集也是可以使用的。
只是设置了字符集,会限制使用的系统默认API的版本。当然,你也可以显式调用非设置字符集的函数。

zhuwt2008
zhuwt2008 谢谢各位的回答, 你是第一个提醒到程序调用windows api的版本的,谢谢
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.27 18:25

比如说windows api,同时支持ansi和unicode,其实每个函数有两套,比如你调用
MessageBox,如果你的字符集是ansi,那么其实调用的是MessageBoxA,否则是MessageBoxW。
再比如说oyljerry说的_T宏,等等。
设置字符集使得你源代码不用修改,就可以同时编译出不同平台的代码。

oyljerry
oyljerry   Ds   Rxr 2016.01.27 16:36

这个是对于一些宏,比如_T("sss")
这样根据不同的字符集,它是不同类型的字符串

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!