關於寬字元(中文文字檔案輸出到螢幕
阿新 • • 發佈:2020-12-20
技術標籤:c++
寬字元例項
:開啟檔案以行為單位讀取檔案的內容,並且將包含"人"字的行輸出。
//例11-14 用檔案寬輸入流查詢檔案中的"人"字。
/ /11 14. cpp
# inc1ude< iostream>
# include<string>
# include<fstream>
# inc1ude< 1ocale>
using namespace std;
int main () (
locale loc (".936//建立本地化配置方案
wcout. lmbue (loc); //為wcout 設定編碼方案
fstream in ("art 工cle.txt");建立檔案寬輸入流,開啟檔案article.txt
in.imbue(loc);為in設定編碼方案
wstring 1ine;//用來儲存一行內容
unsgined number=O;
while (getline (in, line)){
number++;
if (line.find first of(L' 人') !=wstring::npos)
wcout<<number<<L": "<<1ine<<end1;
return 0;
將含中文的檔案輸出到螢幕:
#include <iostream>
#include<string>
#include<stack>
#include<vector>
#include<cctype>
#include<iostream>
#include<Windows.h>
#include<conio.h>
#include<fstream>
#include<locale>
using namespace std;
wifstream myfile("test.txt", ios::in);//這個是目錄下自己建立的檔案,含有中文內容
wstring line;
if(myfile.fail()){
cerr<<"error!"<<endl;
exit(-1);
}
while(getline(myfile,line))//這樣會一行一行將檔案內容原樣輸出
wcout<<line<<endl;
}
注意:除錯多次,發現必須要將文字檔案從utf改為ansi才可以,不然亂碼