我得到了一段在多字节字符集下工作的代码。但是,我想将这段代码转换为 UNICODE。所以我修复了很多东西,但在 strncpy() 行失败了。这是我要更改的行:
strncpy(a.szTip, szToolTip, bLength);
我用了很多函数来解决这个问题,但都失败了。
这是错误:
strncpy cannot convert parameter 1 from WCHAR[128] to char *
最佳答案
处理宽字符时,使用wcsncpy()
(以及其他相关功能)。
正如 Remy Lebeau 指出的那样,如果您想同时支持 ANSI 和 Unicode 构建(它分别扩展到正确的函数),使用 _tcsncpy()
宏会更安全。
关于c++ - 如何将 strncpy() 转换为 WCHAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12304108/