如何查找内存映射文件的流指针(使用boost)

How to seek stream pointer of a memory mapped file(using boost)?

本文关键字:使用 boost 文件 指针 内存 何查找 查找 映射      更新时间:2023-10-16

我使用boost::iostreams::mapped_file_source将文件映射到内存,并将读取文件的流声明为boost::iostreams::stream <boost::iostreams::mapped_file_source> streamReader

它运行良好,我能够解析内存映射文件。我使用getline读取整个文件,并存储文件的某些偏移量。在执行此操作时,我能够使用seekg将streamReader搜索到所需位置。但一旦整个文件被读取,我就无法在任何地方找到streamReader。

streamReader.fail()返回true。streamReader是否会在指针到达文件末尾时清除指针?

有没有什么方法可以让我在读取整个文件后转到所需的文件偏移量?

ThankYou

我认为应该调用流的clear()方法来重置其状态。

请参阅http://www.cplusplus.com/reference/ios/ios/clear/