首页 理论教育 版本文件流类的使用和C语言文件存取机制的比较

版本文件流类的使用和C语言文件存取机制的比较

时间:2023-10-25 理论教育 版权反馈
【摘要】:该版本被其它文件流类用于进行实际字符的读写工作。以上这些类的使用,均须包含头文件<fstream>。和C语言的文件存取机制相比,C++文件流类的最大好处是实现文件的自动管理。这是因为文件流类使用了非常好的构造函数和析构函数。对于既可读取亦可改写的流,不允许在读写操作之间任意转换其读写属性。文件流对象以某个C-string为构造函数参数,会自动打开该字符所代表的文件,用于读和写。

版本文件流类的使用和C语言文件存取机制的比较

类stream可用来存取文件。C++ STL提供4个模板类,用以预先定义4个标准特化版本。这4个标准特化版本分别是:

1)template class basic_ifstream< >及其特化版本ifstream和wifstream。该版本用于读取文件。

2)template class basic_ofstream< >及其特化版本ofstream和wofstream。该版本用于将数据写入文件。

3)template class basicfstream< >及其特化版本fstream和wfstream。该版本用于读写文件。

4)template class basic_filebuf< >及其特化版本filebuf和wfilebuf。该版本被其它文件流类用于进行实际字符的读写工作。(www.xing528.com)

以上这些类的使用,均须包含头文件<fstream>。和C语言的文件存取机制相比,C++文件流类的最大好处是实现文件的自动管理。文件在构造时会自动打开,析构时自动关闭。这是因为文件流类使用了非常好的构造函数和析构函数。

对于既可读取亦可改写的流,不允许在读写操作之间任意转换其读写属性。但有时需要在开始读写过程之间转换流属性,甚至需要进行一个seek操作,则到达当前位置后,再转换读写属性。如果已经到达文件末尾,可立即接着写入字符。

文件流对象以某个C-string为构造函数参数,会自动打开该字符所代表的文件,用于读和写。读或写操作是否成功,会体现在流的状态位中。文件中的内容既可以单个字符的读取和输出,也可以实用文件缓冲区的指针,一次性输出其文件的内容。例如,

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈