c++ - C++的codecvt不是一个标准的头?

  显示原文与译文双语对照的内容
58 1

这里代码使用 Visual C++ 编译,并按照 Windows 7运行,但无法使用 Windows 7上的MINGW 4.7.0或者在Linux上的gcc 4.8.0进行编译。 使用 -std=c++11 标志进行编译


#include <codecvt>


#include <string>



//convert UTF-8 string to wstring


std::wstring utf8_to_wstring (const std::string& str)


{


 std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;


 return myconv.from_bytes(str);


}



//convert wstring to UTF-8 string


std::string wstring_to_utf8 (const std::wstring& str)


{


 std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;


 return myconv.to_bytes(str);


}



错误:

codecvt: 没有此类文件或者目录。

时间: 原作者:

104 5

GCC拒绝这里代码的原因很简单: libstdc++还不支持 <codecvt>

C++11支持状态页确认:

22.5 标准代码转换面N

原作者:
...