【发布时间】:2012-04-16 04:56:59
【问题描述】:
以下代码将string 转换为wstring,我需要调用我正在使用的词干提取方法。但是,我存储词干的map 充满了strings。我查看了一些关于 SO 的解决方案,从wstring 到string 的许多转换都是大约十几行代码。 有什么方法可以快速(最好是内联或类似)从 string 转换为 wstring 并返回?
string ANSIWord("documentation");
wchar_t* UnicodeTextBuffer = new wchar_t[ANSIWord.length()+1];
wmemset(UnicodeTextBuffer, 0, ANSIWord.length()+1);
mbstowcs(UnicodeTextBuffer, ANSIWord.c_str(), ANSIWord.length());
wWord = UnicodeTextBuffer;
否则,我会考虑将我的map 和其他方法转换为使用wstring。
编辑:
顿悟:我决定将整个转换方法转换放在自己的方法中,从而将其减少到所需的一行。但是,出于好奇,我仍然想知道/以供将来参考。
【问题讨论】:
-
不是真的,如果你想做对的话。毕竟,您需要检查错误并以 some 方式计算所需的输出长度。
标签: c++ string type-conversion wstring