English 中文(简体)
如何将Visual Studio项目从使用宽字符串转换为普通字符串
原标题:
  • 时间:2009-04-07 20:23:35
  •  标签:

当我创建visual studio项目时,默认情况下会强制我对所有使用字符串的函数使用宽字符串。例如,MessageBox()采用LPCWSTR,而不是const char*。虽然我知道它非常适合多语言和可移植的应用程序,但对于我的简单小应用程序来说,这是完全没有必要的。坦率地说,在我所有的字符串周围不断地键入TEXT()更令人痛苦。

在我的Visual Studio项目中,是否有编译器选项、定义或项目设置可以更改以修复此问题?

最佳回答

右键单击您的项目->;属性,然后转到以下树项:

配置属性->;全体的

For Unicode select:
Use Unicode Character Strings

For normal multi-byte select:
Use Multi-Byte Character Set

当您在字符串周围放置TEXT()_T()[/code>时,您将使其与这两个字符串选项兼容。如果选择<code>使用多字节字符集</code>,则不需要在字符串周围使用任何内容。如果选择使用unicode字符集,则字符串前面至少需要L。

通过选择使用Unicode字符串,默认情况下,您还将使用以W结尾的所有Win32 API。例如:MessageBoxmaps to

当您选择使用多字节字符集时,默认情况下,您也会使用以A结尾的所有Win32 API。例如:MessageBoxmaps to

问题回答

值得注意的是,您可以显式声明以下形式的宽字符串文字:

WCHAR *s = L"Hello Wide World.";

它比宏TEXT()或_T()需要更少的键击,但即使没有定义UNICODE,它也会生成一个宽字符串。





相关问题