文件的输入输出
2015-06-08 20:24
239 查看
头文件fstream给出了三个类型来支出文件IO:
ifstream从一个给定文件读取数据
ofstream向一个给定的文件写入数据
fstream可以读写给定文件
1.使用文件流对象
当我们想读写一命名文件时,可以先定义一个文件流对象,并将文件与对象关联起来。然后用文件流类的open函数完成一些操作。
C++11中文件名可以为string类型也可以是C风格的字符数组。
用fstream 代替iostream&
在使用基类型对象的地方可以用其继承类的对象来代替,所以接受一个iostream类型引用(或指针)参数的函数,可以用一个对应的fstream类型来调用。
成员函数open和close
定义了流对象后可以通过open函数来关联文件
由于调用open可能失败所以要对其进行检查
文件一旦被open打开,其他任何试图使用文件流的操作都将失败,所以在使用完后需要通过close将其关闭。
当一个fstream流被销毁时,close函数会被自动调用。
2.文件模式
每个流都有一个关联的文件模式,用来指出如何使用文件:
in 以读的方式打开
out 以写的方式打开
app每次写操作前都先定位文件的末尾
ate打开文件后立即定义到文件末尾
trunc截断文件
binary以二进制方式进行io
默认情况下我们打开一个文件,文件内容都将会被丢弃。若为了保存文件原有内容需要显示的指定app模式。
对于一个给定的流,每当用open打开流的时候都可以改变其文件模式。
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可能失败所以要对其进行检查
if(out)
文件一旦被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();
相关文章推荐
- 【转】java中static{}语句块详解
- 我爱淘二次冲刺阶段6
- Django笔记
- android.os.NetworkOnMainThreadException
- 开源业务规则引擎JBoss Drools入门介绍
- [Drools]JAVA规则引擎 -- Drools
- drools规则语法(一)
- Quartz之JobExecutionException
- postgresql 数据导入导出
- 我爱淘二次冲刺阶段5
- Quartz 有状态的JobDataMap
- 项目中使用Quartz集群分享
- System V IPC对象 共享内存、消息队列、信号灯集(6.7)
- 浅析final finally finalize
- amanda安装
- 【Math类】常用函数
- lua demo
- Android中Toast不显示的解决方案
- 运动目标检测、阴影检测及目标跟踪中用得到的标准测试视频下载(大量IBM提供视频)
- jdk6,jdk7直链下载方法