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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VS2010设置UNICODE或多字符集,工程设置
项目——属性——配置属性——常规——项目默认值——字符集——OK
64位机器上vs使用32位控件的问题
<br />检索 COM 类工厂中 CLSID 为 {XXXX-XXXX-XXX-XXXXX-XXX} 的组件时失败,原因是出现以下错误: 80040154。<br />如以上问题出现,基本都是因为COM控件未注册造成的<br /> 解决方法:<br /> 1.Resvr32 .net中引用控件的名称,注意用户权限的问题,确认注册成功。<br /> 2.在VS中找到引用控件所在的项目--〉属性--〉生成--〉常规---〉目标平台---〉选择X86即可解决。
VS字符集设置
通常vs项目属性(在项目属性->设定->通用->字符集)设置字符集: 未设置。VS2008默认ansi编码,VS2010默认字符集是Unicode。 Unicode编码。 多字节编码。 注意:只有unicode和多字节,没有utf8,所以utf8是必须要转换才能用。 Win字符集 所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码。Win
VS2010中属性的设置及作用
属性->配置属性: 常规: 配置类型 有几种供选择的配置类型: “应用程序 (.exe)”,显示链接器工具集,该工具集中包括:C/C++ 编译器、MIDL、资源编译器、链接器、BSCMake、XML Web services 代理生成器、自定义生成、预生成、预链接、生成后事件等。 “动态库 (.dll)”,显示链接器工具集,指定 /DLL 链接器选项并将 _WINDLL 定义
VS常规设置问题
VS常规设置问题 1、问题:在VS2015上运行通过的程序,之后再VS2013上运行出现错误:The build tools for v140 (Platform Toolset = 'v140') cannot be found. 解决办法:打开项目-->属性-->配置属性-->常规,找到平台工具集 ,把v140改为v120(Visual Studio 2013 (v120))就能运
Visual Studio2010 配置C/C++项目属性
Visual Studio中2010中的项目中,点击【项目】-->【属性】-->【配置属性】,下面没有【C/C++】等选项! 正常情况下如图: 现在的情况: 这时候该怎么处理呢?还有一种情况: 但是每个工程都要在“项目->属性->配置属性->VC++目录”中一一设置如oci.lib,orasql10.lib之类的公共库文件目录是件很麻烦的事,如何解决呢? 1、 先打开任意一个VC
HTML5_字符集属性
HTML5_字符集属性 --> /* HTML5新增了几个与文档有关的属性。其中有,charset属性表示文档中实际使用的字符集, 也可以用来指定新的字符集,默认情况下这个字符集值为“UTF-16”,但可以用元素、 相应头部或者直接设置charset属性修改这个值。来看一个例子。 */ window.onload = function(){
SkinMagic在vs2003
在vs2003以上版本记得改“项目->属性”弹出属性页对话框,然后“配置属性->常规”,将“MFC的使用”设置为“在静态库中使用 MFC”,将“字符集”设置为“使用多字节字符集”
VS2005编写的计算器
计算器,有详细注释,调试状态下Unicode字符集,Release下请更改为多字节字符集。具体在项目--工程属性--常规--字符集内修改
桌面项目-常规中没有IE选项
因为安装了 MS07-061(KB943460)更新,IE 的选项被取消了。这一改动将包含在 Windows XP SP3 中。 恢复桌面项目常规上的IE图标方法:一、找到如下的注册表分支: HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/HideDesktopIcons/NewStartPanel