![]() |
1
2
您的代码很可能使用UTF-8编码。这意味着单个字符可以占用1到4个字节。
请注意
当您逐个字节地分别打印每个字符串时,由于顺序正确,所以它可以工作。 当你从一个字符串中打印一个字节,从其他字符串中打印一个字节时,事情会变得一团糟。
最简单的修复方法是使用
解决问题的另一种方法是使用映射,该映射将字节序列(字符串)转换为其他序列(字符串)。 C++11:
编辑 我已经测试了您的新代码,您应该添加为输出流配置语言环境的代码。
在我的mac(使用波兰语言环境)上,使用clang构建时,应用程序会忽略
https://wandbox.org/permlink/nTYi5RbZgZXclE5r
我怀疑编译器中的标准库也不知道如何使用默认语言环境执行转换,所以它会打印问号,而不是实际的章程。所以把这两行加起来(
|
![]() |
Aisha Javed · 从文件中删除非Unicode字符 7 年前 |
![]() |
longtimelurker42 · Unicode--版权符号 7 年前 |
![]() |
AM93 · Python:在ISO 8859-1中写入COM 7 年前 |
|
Anuvansh Kumar · putc()在c中返回什么? 8 年前 |
|
dust · ElementTree中的非ASCII属性值 10 年前 |