在c++中处理文件的正确方法是什么?

What is the proper way to work with files in C++?

本文关键字:方法 是什么 c++ 处理 文件      更新时间:2023-10-16

我正在学习c++,现在我正在阅读有关处理文件的书籍。正如我所读到的,有相当多的变体。所以我想问,在c++中处理文件的正确方法是什么?使用fstream(ifstream和ofstream)?我读过一些意见,fopen工作得更快,所以最好使用它,但它不会是c++。谢谢关注!

使用c++时使用ifstreamofstream。它应该不会比FILE*慢很多,但更安全。

我同意Juraj对I/ofstream和FILE*的评价,我只是想说一下内存映射文件。在提高。SpiritClassic,有一个不太为人所知的gem叫做mmap_file_iterator:

http://www.boost.org/doc/libs/1_47_0/boost/spirit/home/classic/iterator/file_iterator.hpp

我相信如果你在windows或POSIX环境中,它会内存映射你的文件,并且它是一个RandomAccessIterator,而不是一个Input/OutputIterator。

至于什么方法是"合适的",这完全取决于你的应用程序的需求。探索所有的选择,并尽可能多地比较结果,这绝对是件好事。