C++文件的输入和输出

fstream头文件定义了三种支持文件IO的类型:

(1)ifstream,提供读文件功能

(2)ofstream,提供写文件功能

(3)fstream,提供读写同一文件的功能

fstream除了继承自iostream的行为外,还定义了自己的俩个新操作-----open和close,以及形参为要打开文件名的构造函数。fstream和ifstream或者ofstream可以调用这些操作,而其他的IO类型则不能调用。

1.文件流对象的使用

需要读写文件时必须定义自己的对象,并将它们绑定到需要的文件上。假设ifile和ofile是存储希望读写的文件名的string对象,可编写代码如下:

ifstream infile(ifile.c_str());
ofstream.outfile(ofile.c_str());

上述代码定义并打开了一对fstream对象。infile是读入的流,outfile是写出的流。为ifstream 和ofstream对象提供文件名作为初始化式,就相当于打开了特定文件。

ifstream infile;
ofstream ofile;

上述语句将infile定义为读文件的流对象,将outfile定义为写文件对象。这两个对象都没有捆绑具体的文件。在使用时还必须对这些对象捆绑指定的文件;

infile.open("in");
outfile.open("out");

调用open函数将已存在的fstream对象与特定文件绑定。为了实现读写,需要将指定的文件打开并定位,open函数完成系统指定所需要的文件。

(文件名必须是C风格字符串,如果传递的是string对象可以调用c_str成员获取C风格字符串)。

2.检查文件是否打开成功

if(inflile){........}
if(!infile){........}

用陈语句就可以检测是否是准备好。

3.将文件流与新文件从新捆绑

fsream对象一旦打开,就保持与指定文件相关联。如果要把fstream对象与另外一个不相同文件关联,则必须先关闭现在的文件,然后打开另一个文件:

ifstream infile("in");
infile.close();
infile.open("next");
4.如果程序猿需要用一个文件流读取多个文件,则必须在读取另一个文件之前调用clear清除该流的状态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值