C++输入输出流
标准I/O
用控制符来控制对象成员输出
用流对象的成员函数控制输出格式
除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。用于控制输出格式的常用的成员函数如下:
流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运算符“::”。
在用成员函数setf和 控制符setiosflags设置输出格式状态后,如果想改设置为同组的另一状态,应当调用成员函数unsetf(对应于成员函数self)或 resetiosflags(对应于控制符setiosflags),先终止原来设置的状态。
用setf 函数设置格式状态时,可以包含两个或多个格式标志,由于这些格式标志在ios类中被定义为枚举值,每一个格式标志以一个二进位代表,因此可以用位或运算符“|”组合多个格式标志。如倒数第5、第6行可以用下面一行代替:
cout.setf(ios::internal I ios::showpos); //包含两个状态标志,用"|"组合
文件I/O
C++文件的打开与关闭
打开文件是指在文件读写之前做必要的准备工作,包括:
- 为文件流对象和指定的磁盘文件建立关联,以便使文件流流向指定的磁盘文件。
- 指定文件的工作方式,如,该文件是作为输入文件还是输出文件,是ASCII文件还是二进制文件等。
两种实现方法:
- 调用文件流的成员函数open。
#include<fstream>
ofstream outfile; //定义ofstream类(输出文件流类)对象outfile
outfile.open("f1.dat",ios::out); //使文件流与f1.dat文件建立关联
- 在定义文件流对象时指定参数
ostream outfile("f1.dat",ios::out); //一般多用此形式,比较方便。作用与open函数相同。
控制符:
在对已打开的磁盘文件的读写操作完成后,应关闭该文件。关闭文件用成员函数close。
outfile.close( ); //将输出文件流所关联的磁盘文件关闭