C++11 寬窄字符轉換

    //wstring 轉 string
    typedef std::wstring_convert<std::codecvt<wchar_t, char, std::mbstate_t>> CONVER;
    std::wstring str = L"中國人";
    std::wstring_convert<std::codecvt<wchar_t, char, std::mbstate_t>> converter(new std::codecvt<wchar_t, char, std::mbstate_t>("CHS"));
    
    std::string narrowStr = converter.to_bytes(str);
    
     //string 轉 wstring
    std::wstring wstr = converter.from_bytes(narrowStr);
    std::cout<<narrowStr<<'\n';
    std::wcout.imbue(std::locale("chs"));   //初始化cout爲中文輸出
    std::wcout<<wstr<<'\n';

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章