C ++将字符串转换为wstring并返回最小代码

时间:2012-04-16 04:56:59

标签: c++ string type-conversion wstring

以下代码将string转换为wstring,我需要调用我正在使用的词干提取方法。但是,我存储词干词的map已满strings。我查看了SO上的一些解决方案,从wstringstring的许多转换都是大约十几行代码。 有没有办法快速(最好是内联或类似)从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

修改

顿悟:我决定将整个转换方法转换放在自己的方法中,从而将其减少到所需的一行。但是,我仍然想知道出于好奇/将来的参考。

1 个答案:

答案 0 :(得分:0)

为什么不编写一个包含大约12行代码进行转换的函数,然后调用该函数?