C++fstream读写文件

本文介绍了C++中fstream库的使用,包括IO类型的关系、文件打开模式的限制,如只对ofstream设置out模式,使用tellg()和tellp()函数进行文件指针操作,以及如何利用rdbuf()进行流对象之间的内容转移。还详细讨论了get()和getline()函数在读取文件内容时的区别,例如getline()不保存换行符,而get()会保留。
摘要由CSDN通过智能技术生成

IO类型间的关系:

类型ifstream和istringstream都继承自istream。因此,我们可以像使用istream对象来使用ifstream和istringstream对象,可以对一个ifstream或者istringstream对象调用getline函数,类型ofstream和ostringstream都继承ostream,因此,我们如何使用cout的,就可以同样地使用这些类型的对象.今天,我们只讨论fstream文件流

#include <fstream>
ofstream     //文件写操作,内存写入存储设备(文件)  输出流
ifstream      //文件读操作,存储设备到内存.       输入流
fstream      //读写操作,对打开的文件可进行读写.   前两者的结合

文件打开模式:

ios::in  读
ios::out  写
ios::w:app   从文件末尾开始写
ios::binary   二进制模式
ios::trunc   打开一个文件,然后清空内容
ios::ate  打开一个文件,将位置移动到文件尾.

指定模式有以下限制:

1.只可以对ofstream或者fstream对象设定out模式.
2.只可以ifstream或fstream对象设定为in模式.
3.只有out被设定时,才可以设定为trunc模式.
4.trunc没被设置,才能设置app。在app模式下,默认以写的方式打开.
5.以out模式打开的文件也会被清空,所以,要想保留文件中额内容,同时要指定app模式. 或同时指定in 模式.

ifstream默认以in模式打开,当文件不存在时,打开失败.当然,也可以以ios::out模式打开,这样虽然不会报错,但是,我们并不能向文件中写数据,也就是说,这样做,没有任何意义.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值