是否可以将char(包含非拉丁字符)转换为utf8 / utf16 wchar / char16_t?

问题描述 投票:-1回答:1

我想转换类型为char*的字符串,该字符串由非拉丁字符组成。

我已经尝试编写代码来做到这一点:

const char str[] = "磨";
const size_t cSize = strlen(str)+1;
wstring ws(cSize, L'#');
mbstowcs(&ws[0], str, cSize);

但是它不起作用。

是否有可能这样做或不可能?

c++ unicode ansi
1个回答
0
投票

好的,我不太清楚,但是在Windows中,您可以尝试导入WinNT.h模块,并在字符类型定义的值前加上'L'。

#include <winnt.h>
.
.
.

int main()
{
     PSTR *c = L'c';  // char*
     PWSTR *w = L'w_char';  // wchar_t*     
     return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.