C++讀取文本文件中的漢字亂碼情況原因及解決
C++讀取文本文件中的漢字亂碼情況原因及解決
本文介紹簡體中文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;
}編譯運行,若data.txt文件中含有中文顯示亂碼,參見下圖:

什么原因?
查看cmd當(dāng)前編碼方式,按下win+R組合鍵,打開運行框之后輸入cmd打開,然后在cmd標題欄右鍵→屬性,點開就可以查看當(dāng)前編碼方式:

請留意 “當(dāng)前代碼頁”部分,當(dāng)前編碼方式“ANSI”
用記事本,打開你的文本文件,請留意,文件的“編碼”格式

文本文件的編碼格式默認的比如UTF-8格式,和cmd編碼格式“ANSI”不一致,將文本文件的編碼格式改為格式“ANSI”即可,參見下圖:

再次運行,輸出不再亂碼。
最后
小結(jié)一下,c++讀取文件出現(xiàn)亂碼的原因是文本文件的編碼格式和cmd的編碼方式不一致造成的,修改文本文件編碼格式,文本文件的編碼格式和cmd的編碼方式一致即可。
以上就是C++讀取文本文件中的漢字亂碼情況原因及解決的詳細內(nèi)容,更多關(guān)于C++讀取文本文件亂碼的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
深入學(xué)習(xí)C語言中的函數(shù)指針和左右法則
這篇文章主要介紹了深入學(xué)習(xí)C語言中的函數(shù)指針和左右法則,左右法則是一種常用的C指針聲明,需要的朋友可以參考下2015-08-08
C++面向?qū)ο笾惡蛯ο竽切┠悴恢赖募毠?jié)原理詳解
C++是面向?qū)ο缶幊痰?這也是C++與C語言的最大區(qū)別,下面這篇文章主要給大家介紹了關(guān)于C++面向?qū)ο笾惡蛯ο蟮募毠?jié)原理的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05
C++獲取多瀏覽器上網(wǎng)歷史記錄示例代碼(支持獲取IE/Chrome/FireFox)
這篇文章主要介紹了C++獲取多瀏覽器上網(wǎng)歷史記錄示例代碼,支持獲取IE, Chrome,FireFox等瀏覽器2013-11-11

