将未签名的short替换为wchar_t是否安全,反之亦然?

时间:2011-03-31 05:10:50

标签: visual-c++ visual-studio-2005 visual-studio-6

您好 我正在将项目从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这样的函数吗?

3 个答案:

答案 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。对于初学者,您可能只是让您的代码适用于未来对库的更改。它还可以使您的代码更易于阅读。

除非我遗漏了某些内容,mbstowcswcstombs与此无关。它们用于在Unicode和多个之间进行转换。听起来你所有的东西都是Unicode。