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

C++ convert string to wstring and back with Minimal code

本文关键字:代码 返回 字符串 转换 wstring C++      更新时间:2023-10-16

以下代码将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

编辑:

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

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