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

10-13 03:32