如何将Visual Studio项目从使用宽字符串转换为普通字符串

scr*_*low 7 c c++ unicode winapi visual-c++

当我创建我的visual studio项目时,它默认强制我对所有带字符串的函数使用宽字符串.例如,MessageBox()采用LPCWSTR而不是const char*.虽然我知道它对于多语言和便携式应用程序来说非常棒,但对于我简单的小应用程序来说,它是完全没必要的.坦率地说,在我的所有字符串周围不断输入TEXT()会更加痛苦.

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

Bri*_*ndy 16

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

配置属性 - >常规

对于Unicode选择:
使用Unicode字符串

对于普通的多字节选择:
使用多字节字符集

放置TEXT()或放置_T()字符串时,使其与两个字符串选项兼容.如果你选择Use multi-byte character set那么你的字符串周围不需要任何东西.如果选择Use unicode character set,你的弦前至少需要L.

通过选择Use Unicode Character Strings默认情况下,您还使用以W结尾的所有Win32 API.示例:MessageBox映射到MessageBoxW.

当您选择时,Use multi-byte character set您也默认使用以A结尾的所有Win32 API.示例:MessageBox映射到MessageBoxA.