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: 没有此类文件或者目录。

时间:原作者:0个回答

104 5

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

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

22.5 标准代码转换面N

原作者:
...