小提示:
精度的默认值为6,如果采用浮点格式输出时,精度的含义是有效位数;如果是采用定点格式或指数格式,精度的含义是小数位数。
8.5 文件流
考点8 文件流的建立、打开及关闭
l.文件流的建立
文件流是文件流类的实例对象C+十系统在头文件fstream中定义了3个文件流类:
ifstream,ofstream和fstream。要创建文件流,必须包含头文件fstream,并声明所创建的文件流是上述哪个实例对象例如:
ifstream fin; //创建输入流对象firs
tfstream fout; //创建输出流对象fout
itream fio; //创建输入输出流对象fio
2.文件的打开与关闭
关于文件的打开是既可以在定义文件流对象的同时打开文件,也可以在定义文件流对象以后用open ( )函数打开文件。C++允许用以下两种方法之一打开文件
(1)用成员函数open()。
(2)用构造1*1数(创建对象)。
其中,一可以通过构造函数或open()函数的第2个参数确定文件的打开方式。文件的打开方式如表8-3所示的常量来表示。
表8-3 打开文件的常量表示
当文件相连接的流对象的生命周期结束时,它们的释放函数将关闭与这些流对象相连接的文件。另外,也可以使用close()函数显式地关闭文件。
考点9 文件流状态的判别
如表8-4所示的文件流的成员函数可以判别文件流的状态。
表8-4 文件流的成员函数
考点10 文件流的定位与特殊的文件流
1.文件流的定位
文件流的位置以字节为单位,它有两种不同的位置:输入位置和输出位置。文件流的定位方式有三种用ios base::seek dir中的一组枚举符号表示,它们是:
(1)ios base::beg:相对于文件首;
(2)ios base::cur:相对于当前位置(负数表示当前位置之前);
(3)ios base::end:相对于文件尾。
每次输入或输出后自动定位于下一个需要输入或输出的位置。其中,完成输入定位的函数有;seekp()和tellg();完成输出定位的函数有:seekp)和tellp()。
2.特殊的文件流
有两种特殊的文件流:CON和PRN。其中,以CON为文件名时,流对象对应于键盘或显示器;以PRN为文件名时,流对象对应于打印机。
考点11 文件流的无格式输入输出
无格式输入输出通常只针对文件流,有关的函数见表8-5。
表8-5 无格式输入输出函数
文章来源于领测软件测试网 https://www.ltesting.net/