c++ - 如何将 strncpy() 转换为 WCHAR

标签 c++ c unicode strncpy

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

相关文章:

c++ - 覆盖纯虚函数的参数个数

c++ - 在 C++ 中是否允许在 iostream 之后编写任何内容

c - 我如何确定此代码符合哪个 C 标准?

c - 以下问题的答案是什么,哪些选项不会读取给定格式的日期?

c# - Objective C 前端 - Java/C# 后端

c++ - 将 vector<dlib::point> 转换为 NSArray,以便将其传递给 Swift 类

c++ - 在 C++ 中使用 ofstream 打开现有的 .doc 文件

javascript - JS 编码解码 UTF 的问题?

string - 一个 Unicode 字符占用多少字节?

c++ - Visual Studio C++ 组合框控件不适用于多字节字符集