c - 如何默认定义所有 winapi 以将字符串视为 UNICODE?

标签 c winapi

使用 visual studio,有没有办法定义 winapi 的所有函数来将所有字符串都视为 UNICODE?

最佳答案

MS 库由宏组织。

  • 使用不带“A”或“W”的 API 方法名称。
  • 将您的字符串定义包装在 _T() 宏中。

通过这种方式在预处理器中定义“_UNICODE”将构建 unicode 构建。

CreateFile(_T("C:\out.txt"),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

将决定:

// _UNICODE defined
CreateFileW(L"C:\out.txt",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

// _UNICODE not defined
CreateFileA("C:\out.txt",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

关于c - 如何默认定义所有 winapi 以将字符串视为 UNICODE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8516728/

相关文章:

winapi - 如何读取调用堆栈?

go - 调用 EnumProcessModules 时出现“意外故障地址”

创建线程循环

c - 获取文本中单词的初始位置

c - 为什么优化会破坏这个 C 代码?

C - 从另一个字符串中减去一个字符串

c - 用C语言构建一个漂亮的GUI

c++ - Windows XP 用户文件夹的 CSIDL 常量

c - C中的堆栈变量混淆

c - 如何将 key 发送到 Half Life 1 窗口?