Мне интересно, достаточно ли этого достаточно для использования в производственной кодовой базе?Преобразование строки STL между wstring и строкой
std::wstring s2w(const std::string& s)
{
std::wstring ws;
ws.assign(s.begin(), s.end());
return ws;
}
std::string w2s(const std::wstring& w)
{
std::string s;
s.assign(w.begin(), w.end());
return s;
}
AFAIK, нет, не является адекватным, потому что он не делает никакого преобразования (только сужение). Вам нужно будет сделать реальное преобразование между узкой строковой кодировкой и широким строковым кодированием. Например, используя 'codecvt', в C++ 11, возможно, в сочетании с 'wstring_convert'. –
dyp
Аналогичный вопрос: http://stackoverflow.com/questions/7141260/compare-stdwstring-and-stdstring/7159944 – dyp