文件流基础:
源程序文件.cpp 目标文件.obj 可执行文件.exe
ifstream是基于istream派生来,提供读文件的功能;
ofstream是基于ostream派生来,提供写文件的功能;
fstream是基于iostream派生而来,提供读写两种功能;
一:文件流的创建
ifstream A("file")//打开当前目录下名为file的文件,其中A为对象
或者分两步进行
ifstream A;
A.open(“file”);
下面是几种在ios这个类中打开文件的方式
特别注意:
由于ofstream中的out默认方式为写,当用out的方式打开文件时文件的内容会被清空
检验打开文件是否成功的方法:
if(!file)
{
ceer("ERROR");//ceer是在运行打印运行错误的时候的一个对象,当错误时就会打印'ERROR’
return 0;
}
二:文件的关闭:
格式为:文件名.close();
file.close();
三:顺序读写
1 常用的读取数据方式:
流提取运算符
”>>“
文件流对象的成员函数
get()//读取单个字符
getline()//读取一行数据可以包含空格
read()//读取二进制数据 格式如下:
read(内存地址,大小);
2 常见的写入数据方式:
流插入运算符
“<<”
文件流对象成员函数
put()//输出单个字符
write()//写入二进制数据 格式如下:
write(内存地址,大小);
四:随机读写
1 seekg和seekp
seekg(A,B);//对输入文件定位
seekp(A,B);//对输出文件定位
//A,B是两个参数,A代表代码偏移量(可为负(反方向偏移))
//B代表基地址
表示B的方式:
(1): 0或者ios::beg//输入文件流的开始位置
(2): 1或者ios::cur//输入文件流的当前位置
(3): 2或者ios::end//输入文件流的结束位置
2 tellg和tellp
tellg();//返回文件当前位置
tellp();//返回输出文件的当前位置
3 eof函数:判断当前文件的读写位置是否在结尾
在则返回true否则返回flase