- 一般文件是指存放在外部介质上的数据结构的集合。操作系统一般将文件作为一个整体作为一个整体来处理,c++引入了流式文件,把文件看为是字符(或字节)构成的序列,及字符流。流式文件的基本单位是字节。
文件的打开与关闭
(1)在程序中包含头文件fstream。
(2)建立流。要以磁盘文件为对象进行输入输出,建立一个文件流类的对象,通过文件流将数据从内存输出到磁盘文件中。
(3)使用成员函数open打开文件,也就是使某一指定的磁盘文件与某定义的文件对象建立关联。
文件流对象.open(文件名,打开方式);
ios::in:打开的文件只能用于输入数据,而且该文件必须存在。
ios:out:打开该文件,并可以向该文件输出数据。在实际的编程中,还有一种打开文件的方式,在定义文件流对象时指定参数,通过调用文件流类的构造函数来实现打开文件的功能。
ofstream out(“test.dat”);
相当于:
ofstream out;`
out.open(“test.dat”);
错误打开
if(!out)
{
cout<<”can’t open file!” ;
}
文件关闭:out.close();语句中的ofstream fout(“f1.dat”,ios::out);与ofstream fout(“f1.dat”);上面的两种写法是等价的。
对二进制的文件进行读写
在打开文件时需要使用ios::binary.对该文件有两种方法,一种是使用get和put,另外一种是read和write。
out.put(char)/in.get(char):可以对流对象连接的文件只能写入数据,每次写入一个字节。
inf.read(char *buf,int len):第一个参数是指针,用于存放内存空间的起始位置,len表示要读入的字节数。
outf.write(connst char buf,int len):*将字符指针的所给地址开始的len个字节的内容不加转换的写道与输出文件流对象outf相关联的磁盘文件中。
int eof():检测文件结束,可以检测到结束符,如果函数返回值非零,表示到达尾,返回值为0表示未到达文件尾。随机读写
istream提供的成员函数
tellg():返回输入文件读指针的当前位置。
seekg(文件中的位置):将输入文件中毒指针移到指定的位置。
seekg(位移量,参照位置):以参照位置为基准移动若干字节。ios::beg,ios::cur,ios::end.
istream提供的成员函数
tellg():返回输入文件读指针的当前位置。
seekp(文件中的位置):将输入文件中毒指针移到指定的位置。
seekp(位移量,参照位置):以参照位置为基准移动若干字节。ios::beg,ios::cur,ios::end.
c++文件操作
最新推荐文章于 2021-01-11 11:35:59 发布