gpt4 book ai didi

c++ - 将 char * 转换为 LPWSTR

转载 作者:IT老高 更新时间:2023-10-28 12:37:09 30 4
gpt4 key购买 nike

我正在尝试将多字节字符的程序转换为 Unicode。

我已经完成了程序,并在字符串文字前加上 L,所以它们看起来像 L"string"

这已经奏效,但我现在留下了一个不符合要求的 C 样式字符串。我已经尝试了 L 并将其放入 TEXT()L 被添加到变量名 - 而不是字符串 - 如果我使用 TEXT().

我尝试将其设为 TCHAR,但它提示它无法将 TCHAR 转换为 char *

我还有什么选择?

我知道 C 和 C++ 是不同的。它是一个古老的内部 C 库,已经在 C++ 项目中使用了几年。

最佳答案

std::mbstowcs函数就是你要找的:

 char text[] = "something";
wchar_t wtext[20];
mbstowcs(wtext, text, strlen(text)+1);//Plus null
LPWSTR ptr = wtext;

对于字符串s,

 string text = "something";
wchar_t wtext[20];
mbstowcs(wtext, text.c_str(), text.length());//includes null
LPWSTR ptr = wtext;

--> ED:“L”前缀仅适用于字符串文字,不适用于变量。 <--

关于c++ - 将 char * 转换为 LPWSTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6858524/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com