Visual c++ 将unsigned short类型转换为wchar\u t是否安全,反之亦然?

Visual c++ 将unsigned short类型转换为wchar\u t是否安全,反之亦然?,visual-c++,visual-studio-2005,visual-studio-6,Visual C++,Visual Studio 2005,Visual Studio 6,你好 我正在将项目从VisualStudio6.0迁移到VisualStudio2005 我面临的问题是。。。在VS6.0中,wchar\u t是简单的unsigned short类型转换,但在VS2005中,wchar\u t是内置的数据类型 在这个项目中,以前的程序员使用wchar\u t和unsigned short。 但在Vs 2005中,它显示了一些错误,比如不能从wchar\u t转换为无符号短码,反之亦然 因此,我的问题是,我们是否可以安全地将wchar\u t转换为无符号shor

你好 我正在将项目从VisualStudio6.0迁移到VisualStudio2005

我面临的问题是。。。在VS6.0中,
wchar\u t
是简单的
unsigned short
类型转换,但在VS2005中,
wchar\u t
是内置的数据类型

在这个项目中,以前的程序员使用wchar\u t和unsigned short。 但在Vs 2005中,它显示了一些错误,比如不能从
wchar\u t
转换为
无符号短码,反之亦然


因此,我的问题是,我们是否可以安全地将
wchar\u t
转换为
无符号short
,反之亦然,或者我们需要使用mbstowcs和wcstombs之类的函数?

您可以使用/Zc:wchar\u t-(或项目设置对话框中的等效项)关闭VS 2005中的wchar\u t-as-native-type功能:


你可能会没事,但如果是我,我会搜索并替换Unicode字符,然后将对Unicode字符的引用更改为
wchar\t
。对于初学者来说,您可能只是让代码在将来对库进行更改时工作。这也会使你的代码更容易阅读


除非我遗漏了什么,
mbstowcs
wcstombs
与此无关。它们用于在Unicode和多个字符之间进行转换。听起来你所有的东西都是Unicode。

更改选项将wchar\u t视为本机类型,改为“不适用于我:)。VC++2010 express.

:感谢您的评论。。。我申请了:/Zc:wchar\u t,现在与2005年相比没有给出任何错误