C++讀取文本文件中的漢字亂碼情況原因及解決
本文介紹簡(jiǎn)體中文Windows操作系統(tǒng)中,C++讀取文本文件中的漢字亂碼情況原因及解決。
問題描述,C++讀取文本文件中的漢字亂碼情況,下面代碼可以讀取d:/data.txt中的內(nèi)容并輸出:
//C++將文本文件按行讀入
#include<fstream>
#include<iostream>
#include<string>
using namespace std;
int main()
{
ifstream file;
file.open("d:/data.txt", ios::in);
string s;
while(getline(file,s))
{
cout<<s<<endl;
}
file.close();
return 0;
}
編譯運(yùn)行,若data.txt文件中含有中文顯示亂碼,參見下圖:
什么原因?
查看cmd當(dāng)前編碼方式,按下win+R組合鍵,打開運(yùn)行框之后輸入cmd打開,然后在cmd標(biāo)題欄右鍵→屬性,點(diǎn)開就可以查看當(dāng)前編碼方式:
請(qǐng)留意 “當(dāng)前代碼頁”部分,當(dāng)前編碼方式“ANSI”
用記事本,打開你的文本文件,請(qǐng)留意,文件的“編碼”格式
文本文件的編碼格式默認(rèn)的比如UTF-8格式,和cmd編碼格式“ANSI”不一致,將文本文件的編碼格式改為格式“ANSI”即可,參見下圖:
再次運(yùn)行,輸出不再亂碼。文章來源:http://www.zghlxwxcb.cn/news/detail-568629.html
小結(jié)一下,c++讀取文件出現(xiàn)亂碼的原因是文本文件的編碼格式和cmd的編碼方式不一致造成的,修改文本文件編碼格式,文本文件的編碼格式和cmd的編碼方式一致即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-568629.html
到了這里,關(guān)于C++讀取文本文件中的漢字亂碼情況原因及解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!