我有一段在多字节字符集下工作的代码。但是,我想将这段代码转换为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/