std::wifstream is;
is.open(_T("E://utf8.txt"),std::ios_base::binary);
//UTF-8编解码的关健代码
is.imbue(std::locale(std::locale::classic(),new std::codecvt_utf8<TCHAR>));
std::wstring str;
if (is.is_open())
{
std::copy(std::istream_iterator<TCHAR,TCHAR>(is),std::istream_iterator<TCHAR,TCHAR>(),back_inserter(str));
is.close();
}
//codecvt风格和Dinkumware的库类似,或许微软就是用的它的。
vs2010 内置了可应用于流的utf8和utf16的编码
最新推荐文章于 2021-12-14 14:31:48 发布
本文介绍了一种使用C++标准库中的std::wifstream类来打开并读取UTF-8编码的文本文件的方法,并展示了如何通过imbue成员函数设置正确的编解码方式以确保文件内容被正确解析。
1024

被折叠的 条评论
为什么被折叠?



