关于宽字符(中文文本文件输出到屏幕

宽字符实例:打开文件以行为单位读取文件的内容,并且将包含"人"字的行输出。

//例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才可以,不然乱码

猜你喜欢

转载自blog.csdn.net/qq_41358574/article/details/111399686