在我的代码中,我收到const char array
如下内容:
const char * myString = someFunction();
现在我想对它进行后处理,wchar array
因为我之后使用的函数不处理窄字符串。
实现这一目标的最简单方法是什么?
最终MultiByteToWideChar?(但是,由于它是我作为输入得到的一个窄字符串,它没有多字节字符 => 可能不是最漂亮的解决方案)
除非您在窄字符串中使用扩展字符,否则 MultiByteToWideChar 将起作用。如果它是一个普通的字母数字字符串,那么它应该可以正常工作。
您还可以查看 mbstowcs,它不那么复杂,但不提供相同数量的控制。
const char * myString = someFunction();
const int len = strlen(myString);
std::vector<wchar_t> myWString (len);
std::copy(myString, myString + len, myWString.begin());
const wchar_t * result = &myWString[0];