这里介绍C++读写文件常用的一库两类(one library two classes)。
一库:指的是<fstream>,从库名可以看出是”文件流“的意思。
两类指的是ifstream和ofstream,都是和文件读写相关的类,也可以说是两个流 。
C++语言中,把键盘输入、显示器输出、文件的读写等,都抽象成”流“的概念。
说了这么多,只需要注意一点,这里的文件的库和文件的类,是两个层面的东西,fstream是库层面的东西,对应库里的各种类;而ifstream和ofstream是类层面的东西,对应各自的成员函数和成员变量。
也就是说,要进行文件的读写,就要使用ifstream和ofstream两个常用的类,在程序中就要加一句:#include <fstream>。这就好比C语言编程要用printf()函数时,必须加上#include <stdio.h>,指明函数的出处一样道理。
C++编程一般不建议混合C语言的库及函数,而C++又比C要抽象得多,比如这个读写文件的”流“的概念,就比C语言中文件读写的概念要抽象。因此,为了便于理解,这里总结一下C++文件读写的一般步骤:
1、 声明读写文件的流变量,也就是要创建ifstream/ofstream类的对象。
2、 使用对象的方法open(filename), 来”打开“文件,让文件与创建的对象进行关联。该文件默认与源程序文件处于同一目录下,否则就要包含完整路径。当然,历史原因,文件名filename的格式必须是C风格的字符串,而不是string类风格的,因为string类的出现比较晚。如果文件名是保存在一个string对象中,则需要用c_str( )方法来转换成C风格字符串。
3、 从文件中读或写数据。
4、 关闭文件,解除文件和对象的关联。
原创文章,作者:阿强,如若转载,请注明出处:https://www.shaoguanrencai.com/n/11806.html