如何strncpy()到WCHAR

cit*_*lle 2 c c++ unicode strncpy

我得到了一段在多字节字符集下工作的代码.但是,我想将这段代码转换为UNICODE.所以我修复了很多东西,但在strncpy()行失败了.这是我想要更改的行:

strncpy(a.szTip, szToolTip, bLength);
Run Code Online (Sandbox Code Playgroud)

我使用了很多函数来解决这个问题,但是所有函数都失败了.

这是错误:

strncpy cannot convert parameter 1 from WCHAR[128] to char *
Run Code Online (Sandbox Code Playgroud)

Mic*_*kis 8

处理宽字符时,请使用wcsncpy()(和其他相关功能).

正如Remy Lebeau指出的那样,_tcsncpy()如果你想同时支持ANSI和Unicode构建(它分别扩展到正确的功能),使用宏会更安全.