当前位置:网站首页 > 技术博客 > 正文

c++ fstream getline



原文链接:https://www.dyxmq.cn/program/code/c-cpp/the-usage-of-fstream-in-cpp.html

C++的IO类中定义了三个文件读写流fstream、ifstream以及ofstream,它们都继承于相同的父类istream,通过不同的实现以实现不同的文件流操作。

三者的区别为:

  • ifstream:从文件读取数据
  • ofstream:从文件写入数据
  • fstream:既可以读数据、又可以写数据

1.1 IO接口和读写模式

三个文件流实现了以下几个函数接口:

函数名 用途 open(s, mode) 以mode模式打开文件s close() 关闭文件流 is_open() 返回文件是否已经打开 read(buff, size) 读入最多size字节数据到buff中 write(buff, size) 写入size字节数据到文件中

在使用open的时候,可以只传入文件s,不指定打开模式。如果不指定模式,系统会自动根据文件类型选择默认的打开模式。同时,除了open()的方式打开文件以外,还可以在对象构造的时候打开文件:

 

表示已只读方式打开文件,对应unix c中的O_WRONLY模式。在C++中,有以下读写模式可以选择:

模式 说明 ios::in 以读方式打开 ios::out 以写方式打开 ios::app 以追加写方式打开 ios::trunc 以截断方式打开文件 ios:binary 以二进制方式打开文件 ios::ate 打开文件后指针定位到文件尾

这些模式可以单独使用,也可以组合使用,如果需要组合使用,使用逻辑操作符或起来即可。这里要特别注意的是模式默认会截断文件,也就是说,和效果是一样的,都会将文件截断。如果不希望以截断方式打开文件时,则需要设置读写模式为,以这种模式打开文件后,数据会以追加的方式写入到文件。

1.2 读写文件示例

写文件


                            

  • 上一篇: 霍夫圆检测算法
  • 下一篇: yml配置datasource
  • 版权声明


    相关文章:

  • 霍夫圆检测算法2025-02-09 17:30:03
  • 单元测试和集成测试区别2025-02-09 17:30:03
  • HAXM is not installed2025-02-09 17:30:03
  • rls算法 matlab2025-02-09 17:30:03
  • js $.trim2025-02-09 17:30:03
  • yml配置datasource2025-02-09 17:30:03
  • qml入门教程详细讲解版2025-02-09 17:30:03
  • 正品蓝导航最全面精准2025-02-09 17:30:03
  • html中img标签的作用2025-02-09 17:30:03
  • python做预测模型2025-02-09 17:30:03