C++读取txt文件中的中文出现乱码
问题描述:在写一个小项目时,需要读取txt中的信息,其中包含中文和数字。
以下是读取所用代码:
int SID;
string SName;
string SPwd;
while (ifs >> SID && ifs >> SName && ifs >> SPwd)
{
if (SID == num_ID && SName == name && SPwd == pwd)
{
cout << "验证登录成功!" << endl;
system("pause");
system("cls");
ifs.close();
person = new Student(num_ID, name, pwd); //创建学生对象
return;
}
}
这是txt文件中的内容:
以下是读取的结果:
估计产生这个问题的原因:
- txt编码格式的问题
验证:
1、经检查,创建的txt文件的编码格式是UTF-8。
通过查阅网上的解决方案,应该是创建的txt文档编码格式与系统编码格式不符。因此需要将txt文档的编码格式改为系统默认的编码格式。具体解决方法如下
(1)先查看自己系统的编码格式:
打开cmd,在窗口上方右击,点击属性
(2)将已有的txt文档另存,在保存界面选择与系统相符的编码格式。
(3)更改之后,重新读取:
问题得到解决!