UNICODE 和 _UNICODE 有什么区别?如果将程序编译为使用 unicode 字符,我们是否需要同时定义两者?我们有两个不同的标识符来使用 unicode 字符有什么原因吗?
问问题
1650 次
1 回答
4
Raymond Chen有一个答案:
没有下划线的普通版本会影响 Windows 头文件视为默认的字符集。因此,如果您定义 UNICODE,例如,GetWindowText 将映射到 GetWindowTextW 而不是 GetWindowTextA。同样,TEXT 宏将映射到 L"..." 而不是 "..."。
带有下划线的版本会影响 C 运行时头文件视为默认的字符集。因此,如果您定义 _UNICODE,则 _tcslen 将映射到 wcslen 而不是 strlen,例如。同样,_TEXT 宏将映射到 L"..." 而不是 "..."。
于 2012-06-17T15:31:03.423 回答