将带有wchar_t数值的矢量转换为wchar_t

时间:2015-11-20 15:28:56

标签: c++ char type-conversion

我有这样的事情:

vector<string> elements;

其中包含:

083938F8
083938FA
083938FC
083938FE
08393900
08393902
08393904

我想将它们转换为wchar_t数字(如a,A,ź,ć);
我可以吗?怎么样?

1 个答案:

答案 0 :(得分:1)

使用std::codecvt标准转换在两种不同的字符编码之间进行转换:

#include <string>
#include <codecvt>

std::wstring wstring_convert_from_char( const char *str )
{
    std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> converter;
    return converter.from_bytes( str );
}

std::string string_convert_from_wchar( const wchar_t *str )
{
    std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> converter;
    return converter.to_bytes( str );
}