文件的输入输出

本文介绍了C++中文件输入输出的基本概念,包括ifstream、ofstream和fstream三种文件流对象的使用方法,以及open和close成员函数的调用方式。此外还详细讲解了文件模式的设置,如读写、追加等不同模式的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件fstream给出了三个类型来支出文件IO:

  • ifstream从一个给定文件读取数据
  • ofstream向一个给定的文件写入数据
  • fstream可以读写给定文件

    1.使用文件流对象

当我们想读写一命名文件时,可以先定义一个文件流对象,并将文件与对象关联起来。然后用文件流类的open函数完成一些操作。

ifstream in(iflile);//定义一个流并且与文件ifile关联
ofstream out;//未关联任何文件的输出流

C++11中文件名可以为string类型也可以是C风格的字符数组。

用fstream 代替iostream&
在使用基类型对象的地方可以用其继承类的对象来代替,所以接受一个iostream类型引用(或指针)参数的函数,可以用一个对应的fstream类型来调用。

成员函数open和close
定义了流对象后可以通过open函数来关联文件

ifstream in(iflie);//关联了ifile
ofstream out;
out.open(ofile);//通过open 关联了ofile

由于调用open可能失败所以要对其进行检查

ifout

文件一旦被open打开,其他任何试图使用文件流的操作都将失败,所以在使用完后需要通过close将其关闭。

out.close();

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

2.文件模式
每个流都有一个关联的文件模式,用来指出如何使用文件:

  • in 以读的方式打开
  • out 以写的方式打开
  • app每次写操作前都先定位文件的末尾
  • ate打开文件后立即定义到文件末尾
  • trunc截断文件
  • binary以二进制方式进行io

默认情况下我们打开一个文件,文件内容都将会被丢弃。若为了保存文件原有内容需要显示的指定app模式。

ofstream out("file1");//默认截断
ofstream out1("file2",ofstream::out);
ofstream out3("file3",ofstream::out|ofstream::trunc);//显式截断

//为了保存文件,显式指定app模式
ofstream app("file",ofstream::app);

对于一个给定的流,每当用open打开流的时候都可以改变其文件模式。

ofstream out;
out.open("file");//隐式设置为输出和截断
out.close();
out.open("file",ofstream::app);//模式为输出和追加
out.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值