关于宽字符(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才可以,不然乱码

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值