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當前編碼方式,按下win+R組合鍵,打開運行框之后輸入cmd打開,然后在cmd標題欄右鍵→屬性,點開就可以查看當前編碼方式:
請留意 “當前代碼頁”部分,當前編碼方式“ANSI”
用記事本,打開你的文本文件,請留意,文件的“編碼”格式
文本文件的編碼格式默認的比如UTF-8格式,和cmd編碼格式“ANSI”不一致,將文本文件的編碼格式改為格式“ANSI”即可,參見下圖:
再次運行,輸出不再亂碼。
最后
小結(jié)一下,c++讀取文件出現(xiàn)亂碼的原因是文本文件的編碼格式和cmd的編碼方式不一致造成的,修改文本文件編碼格式,文本文件的編碼格式和cmd的編碼方式一致即可。
以上就是C++讀取文本文件中的漢字亂碼情況原因及解決的詳細內(nèi)容,更多關(guān)于C++讀取文本文件亂碼的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
DHCP:解析開發(fā)板上動態(tài)獲取ip的2種實現(xiàn)方法詳解
本篇文章是對開發(fā)板上動態(tài)獲取ip的2種實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05Qt中QList與QLinkedList類的常用方法總結(jié)
這篇文章主要為大家詳細介紹了Qt中QList與QLinkedList類的常用方法,文中的示例代碼講解詳細,對我們學習Qt有一定的幫助,需要的可以參考一下2022-12-12C語言數(shù)據(jù)結(jié)構(gòu)堆的基本操作實現(xiàn)
這篇文章主要為大家介紹了C語言數(shù)據(jù)結(jié)構(gòu)堆的基本操作實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2021-11-11深入解析C++中的函數(shù)模板和函數(shù)的默認參數(shù)
這篇文章主要介紹了深入解析C++中的函數(shù)模板和函數(shù)的默認參數(shù),是C++入門學習中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09