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

时间:2014-10-10 09:43:21

标签: c++ visual-studio-2010 boost seek

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

它工作正常,我能够解析内存映射文件。我使用getline来读取整个文件并从文件中存储了某些偏移量。执行此操作时,我可以使用seekg来寻找streamReader到所需的位置。但是一旦读完整个文件,我就无法在任何地方寻找streamReader。

streamReader.fail()返回true。 streamReader一旦到达文件末尾就会清除指针吗?

是否有某种方法可以在读完整个文件后转到所需的文件偏移量?

THANKYOU

1 个答案:

答案 0 :(得分:1)

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

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