【发布时间】:2018-01-07 12:59:55
【问题描述】:
我尝试过实现这样的功能,但不幸的是它不起作用:
const wchar_t *GetWC(const char *c)
{
const size_t cSize = strlen(c)+1;
wchar_t wc[cSize];
mbstowcs (wc, c, cSize);
return wc;
}
我的主要目标是能够将普通字符字符串集成到 Unicode 应用程序中。非常感谢你们提供的任何建议。
【问题讨论】:
-
您给出的代码不起作用怎么办?请描述您遇到的问题。我可以猜到它是什么,但如果你能找出问题,它会有所帮助。
-
请注意
strlen()是错误的,您需要使用mbslen()之类的东西来代替[使用mbstowcs(NULL, ...)完成]。 UTF-8 没有相同数量的字符。 MS-Windows 下的 wchar_t 也使用 UTF-16,这增加了在测量字符串长度时要考虑的另一件有趣的事情。
标签: c++ winapi unicode mingw type-conversion