c++ - codecvt_utf8_utf16 可以和 wfstream 一起使用吗?
问题描述
我在cppreference上看到了这个:
这是一个 N:M 转换方面,不能与 std::basic_filebuf 一起使用(它只允许内部和外部编码之间的 1:N 转换,例如 UTF-32/UTF-8)。
这是否意味着我不能将 codecvt_utf8_utf16 与 fstream 一起使用来 R/W 一个 utf8 文件,并且如下代码无效?
std::wifstream f("demo.txt");
f.imbue(std::locale(f.getloc(), new std::codecvt_utf8_utf16<wchar_t>));
std::wstring test;
f >> test;
什么是“N:M 转换方面”?
解决方案
推荐阅读
- java - 如何在 Java 中使用 indexOf 计数?
- ignite - 近缓存未命中
- typescript - 如何告诉 Typescript 枚举只是基于字符串的
- javascript - 输出显示 myArray.split 不是函数并且无法正常工作
- python - 如何在训练前预处理顺序编号的数据?
- sql - 如何为每个月写得最好
- c# - 如何在 Visual C++ 中正确调用 emgucv 检索命令?
- jooq - 构建涉及可选限制的动态 SQL 的最佳方法?
- javascript - 如何将使用 javascript 或 html 的输入限制为仅限字母,但也允许输入空格?
- python - 如何正则表达式多个数据块