【发布时间】:2012-09-16 05:14:44
【问题描述】:
我的变量在一个宽字符串的特定内部实现中,但我可以很容易地将它变成一个宽字符数组。问题是我需要将它提供给只接受字符数组的库函数。
所以我最终得到了这样的结果:
wchar_t* wstr;
// char* str = "need some processing here";
function(str);
那么,有没有一种简单的方法,或者我应该逐个字符地手动完成?
【问题讨论】:
-
这取决于您尝试对结果做什么以及原始内容包含什么。如果您只想处理 ASCII 字符,则需要
std::ctype<whar_t>::narrow()。如果函数需要多字节编码,则需要wcstombs()之类的东西。请注意,后者通常不被视为字符,而是字节序列。 -
这似乎对我有用,尽管我找到了一个不需要这种转换的更好的问题解决方案。不过还是谢谢啦。
标签: c++ arrays widestring character-arrays