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()。



 

转载于:https://www.cnblogs.com/summerRQ/articles/2375747.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值