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

fstream读取文件



1、文件读写的三种类型
  • ifstream:从一个给定文件中读取数据 。
  • ofstream:向一个给定的文件中写入数据
  • fstream:可以读写给定的文件。

它可以用IO库中的、、等方式来读写文件。其中getline()只能用来读取字符串,不可以读取数值类型。

2、 的一些操作

当一个 fstream 对象被销毁时,函数会被自动调用。

 
3、文件模式

(1)、每个流都有一个关联的文件模式,用来指出如何使用文件。如下所示:

  • :以读的方式打开
  • :以写的方式打开
  • :每次写操作前定位到文件末尾,接着后面写入内容,避免覆盖之前的内容
  • :打开文件后立即定位到文件末尾
  • :截断文件
  • :以二进制方式进行IO

(2)、无论用哪种方式来打开文件,都可以指定文件的模式。

  • 只可以对 ifstreamfstream 对象设定 模式
  • 只可以对 ofstreamfstream 对象设定 模式
  • 只用当 模式被设定时,才可以设定模式
  • 只要模式没有被设定,就可以设定模式。在模式下即使没有显式指定模式,文件也总是以输出方式打开。
  • 默认情况下,即使没有指定模式,以模式打开的文件也会被截断。为了保留以模式打开的文件内容,必须同时指定模式,这样会将数据追加到文件的末尾。或者同时指定模式,即打开文件同时进行读写操作。
  • 和模式可以用于任何类型的文件流对象,且可以与其他任何文件模式组合使用。

(3)、每个文件流类型都定义了一个默认的文件模式,当未指定文件模式时,就会采用默认的文件模式。

  • ifstream 关联的文件默认以模式打开,即读取文件中内容
  • ofstream 关联的文件默认以 模式打开,即向文件中写入新内容
  • fstream 关联的文件默认以和模式打开,可读可写

(4)、以模式打开文件并向其中写入内容时,会默认丢弃原有数据
默认情况下,当以 ofstream 打开一个文件并写入内容时,文件的内容会被清空。阻止文件内容被清空的方法是指定 模式。保留被 ofstream 打开文件中已有数据的唯一方法是显式指定 或模式。

 
4、常用流状态成员函数
  • : 表示如果读文件到达文件末尾,返回true
  • :如果在读写过程中出错,返回 true
  • :读写过程出错或格式错误时返回true

1、使用文件流对象

(1)、当需要读取一个文件时,可以定义一个文件流对象,并将对象与文件关联起来。创建文件流对象时,可以提供文件名,让其与文件流对象进行绑定。若提供给了文件流对象,则函数将会被自动调用。
(2)、

2、读取字符文件实例

对下图的文件用不同的方式来读取其内容:
在这里插入图片描述
(1)、getline() 方式:该方法会将空格也读取进来,且只能用于提取字符串的输入

 

在这里插入图片描述
(2)、>> 方式,该方式会忽略所有的空格。

 

在这里插入图片描述

3、读取整数文件实例

如读取下图内容
在这里插入图片描述
可以使用函数或者来作为判断条件。

 

在这里插入图片描述


1、向一个空文件中写入数据
 

在这里插入图片描述

2、将一个文件的内容写入到另一个文件中

要读取的数据:
在这里插入图片描述
数据即将写入的指定文件中原有的内容:
在这里插入图片描述

 

写入数据后的结果如下
在这里插入图片描述


参考资料:
[1] C++文件读写详解(ofstream,ifstream,fstream)
[2] C++对文件进行读写操作
[3] c++文件读写操作

  • 上一篇: 有哪些项目是k8s集群
  • 下一篇: l-s算法
  • 版权声明


    相关文章:

  • 有哪些项目是k8s集群2025-03-01 19:01:05
  • 新闻管理系统流程图2025-03-01 19:01:05
  • 动态路由原理是什么2025-03-01 19:01:05
  • jediscluster和redistemplate2025-03-01 19:01:05
  • javassm框架是什么2025-03-01 19:01:05
  • l-s算法2025-03-01 19:01:05
  • rapid程序是由什么组成2025-03-01 19:01:05
  • 连续图像和数字图像如何相互转换2025-03-01 19:01:05
  • tinyxml(C++ 使用TinyXML详解)2025-03-01 19:01:05
  • sql如何编程2025-03-01 19:01:05