0

在我的代码中,我收到const char array如下内容:

const char * myString = someFunction();

现在我想对它进行后处理,wchar array因为我之后使用的函数不处理窄字符串。

实现这一目标的最简单方法是什么?

最终MultiByteToWideChar?(但是,由于它是我作为输入得到的一个窄字符串,它没有多字节字符 => 可能不是最漂亮的解决方案)

4

2 回答 2

3

除非您在窄字符串中使用扩展字符,否则 MultiByteToWideChar 将起作用。如果它是一个普通的字母数字字符串,那么它应该可以正常工作。

您还可以查看 mbstowcs,它不那么复杂,但不提供相同数量的控制。

于 2009-12-04T10:13:12.200 回答
3
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];
于 2009-12-04T11:00:04.600 回答