fstream读取文件


C++中的文件流有三种:ifstream - 由istream派生而来,提供读文件的功能

ofstream - 由ostream派生而来,提供写文件的功能

fstream - 由iostream派生而来,提供读写同一个文件的功能

先说ifstream文件流,对文件进行读操作。

从文件中读取内容有多种方式. 一行一行地读:使用string结构;

复制代码
 1             ifstream fin(filename.c_str(), ifstream::in | ifstream::binary);
 2             if (fin == NULL)
 3             {
 4                 cerr << "error in open the JPG FILE.." << endl;
 5                 exit(-1);
 6             }
 7             string temp;
 8             while (getline(fin,temp))
 9             {
10                 cout << temp << endl;
11             }
复制代码

使用char []结构;

复制代码
 1 #define MAX_STRLEN 1024
 2 
 3 ifstream fin(filename.c_str(), ifstream::in | ifstream::binary); 
 4 if (fin == NULL)
 5 {
 6      cerr << "error in open the JPG FILE.." << endl;
 7      exit(-1);
 8 }
 9 char temp[MAX_STRLEN]; 
10 const int LINE_LENGTH = 100;
11 while (fin.getline(temp,LINE_LENGTH)) 
12 {
13      cout << temp << endl;
14 }
复制代码

一个单词一个单词的读入文件:

1 ifstream fin(filepath.c_str(), ifstream::in | ifstream::binary);  
2 string temp;  
3 while( fin >> temp ) 
4 {    
5     cout << temp << endl;  
6 }

文件流在打开文件的时候需要说明打开模式:in - 打开文件做读操作;out - 打开文件做写操作;app - 每次写之前找到文件尾;ate - 打开文件后立即将文件定位在文件尾;trunc - 打开文件时清空已存在的文件流。其中outtrunc 和 app模式只能够与ifstream或fstream对象关联,所有的文件流对象都可以 ate 和 binary

 

规范的文件流操作,在生成对象的时候要检验是否成功,当不需要对文件进行操作时,要关闭文件fin.close(),并清空文件流状态fin.clear()。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值