本文主要是介绍C++ ifstream 下的中文乱码问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先看示例代码:
#include <cstdio>
#include <iostream>
#include <fstream>
using namespace std;int main() {ifstream ip_file("读取.txt"); // “读取.txt”与代码文件位于同一目录string s;if (ip_file.is_open()) {// 读取txt内容ip_file >> s;// 关闭txtip_file.close();} else {cout << "无法读取硬盘中的学生信息!\n";}cout << s << "\n";return 0;
}
代码的作用是读取读入.txt
文件中以空格隔开的第一段字符串,并输出到终端。
假设读入.txt
中的内容是这样的:
郑州轻工业大学
如果读入.txt
是 UTF-8
编码,那么终端会输出乱码:
閮戝窞杞诲伐涓氬ぇ瀛
如果读入.txt
是 ANSI
编码,那么终端会正确输出,即
郑州轻工业大学
但我也不明白为什么是这样的QAQ
这篇关于C++ ifstream 下的中文乱码问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!