您好 我正在将项目从Visual Studio 6.0迁移到Visual Studio 2005。
我面临的问题是......在VS 6.0中wchar_t
只是unsigned short
的类型转换,但在VS2005中wchar_t
是以数据类型构建的。
在项目中,以前的程序员使用了wchar_t和unsigned short intechangibally。
但在Vs 2005中,它显示的错误无法从wchar_t
转换为unsigned short
,反之亦然。
所以我的问题是我们可以安全地将wchar_t
转换为unsigned short
,反之亦然,或者我们需要使用像mbstowcs和wcstombs这样的函数吗?
答案 0 :(得分:1)
您可以使用/ Zc:wchar_t-(或项目设置对话框中的等效项)来关闭VS 2005中的wchar_t-as-native-type功能:
http://msdn.microsoft.com/en-us/library/dh8che7s%28v=vs.80%29.aspx
答案 1 :(得分:1)
更改选项将wchar_t视为本机类型为NO对我有用:)。 VC ++ 2010 express。
答案 2 :(得分:0)
你可能会没事的但是,如果是我,我会进行搜索并替换并将对Unicode字符的引用更改为wchar_t
。对于初学者,您可能只是让您的代码适用于未来对库的更改。它还可以使您的代码更易于阅读。
除非我遗漏了某些内容,mbstowcs
和wcstombs
与此无关。它们用于在Unicode和多个之间进行转换。听起来你所有的东西都是Unicode。