【C++】fstream

提供了三个类

类名描述头文件
ofstream流输出到文件,写文件。ofstream
ifstream文件内容输入到流,读文件。ifstream
fstream文件流,同时具有ofstream和istream两种功能。fstream

API

api描述
open()打开文件。仅在写文件模式下,目标文件不存在才会创建文件。
close()关闭文件
is_open()文件是否打开
<<向文件写入数据。
>>从文件读取数据,箭头朝哪个方向,数据就流向哪里。

open()的第二个参数

模式描述
ios::app追加模式。写指针定位到文件末尾,但读指针仍在文件起始位置。
ios::ate将读写指针都定位到文件末尾。
ios::trunc打开文件后,清空文件内容。
ios::in文件可读。
ios::out文件可写。

三个类,open的第二个参数,的默认值

类名open第二个参数默认值
ofstreamios::out
ifstreamios::in
fstreamios::in | ios::out

写读文件

写文件

ofstream fout;	
fout.open("file.txt");	
if (!fout){		
    cout << "open file failed." << endl;	
} 	

for (int i = 1; i <= 10; ++i){		
    fout << i << "_";	
} 	

fout.close();

读文件

ifstream fin;	
fin.open("file.txt");	
if (!fin){		
    cout << "open file failed." << endl;	
} 

for (int i = 0; i < 10; ++i){		
    int temp = 0;		
    char space = 0;		
    fin >> temp >> space;		
    cout << temp << space;	
} 

fin.close();

输出结果
文件:1_2_3_4_5_6_7_8_9_10_
控制台:1_2_3_4_5_6_7_8_9_10_

文件位置指针

设置输出流标记,p是"put-设置"的意思,写标记。仅用于ofstream。

方法描述
seekp(5, ios::beg)从文件初始位置,正数第5个
seekp(5, ios::cur)从当前位置,正数第5个
seekp(5, ios::end)从文件末尾位置,倒数第 5个

设置输入流标记。g是“get-获取”的意思,读标记。仅用于ifstream

方法描述
seekg(5, ios::beg)从文件初始位置,正数第5个
seekg(5, ios::cur)从当前位置,正数第5个
seekg(5, ios::end)从文件末尾位置,倒数第 5个

获取输入|输出流标记位置

方法描述
ftellp获取当前输出流标记位置
ftellg获取当前输入流标记位置

获取文件内容长度

seekp(ios::end); //移动写标记到文件流末尾
int size = ftellp(); //返回当前写标记位置,即文件内容总长度
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值