Как искать указатель потока файла сопоставленной памяти (используя boost)?

Я отобразил свой файл в память, используя boost::iostreams::mapped_file_source и объявил поток для чтения файла как boost::iostreams::stream <boost::iostreams::mapped_file_source> streamReader,

Это работало нормально, и я смог разобрать файл сопоставленной памяти. я использовал getline прочитать весь файл и сохранить определенные смещения из файла. При выполнении этой операции я смог использовать seekg искать streamReader в нужную позицию. Но как только весь файл прочитан, я не могу искать streamReader в любом месте.

streamReader.fail() возвращает истину. Обнуляет ли streamReader указатель, как только он достигает конца файла?

Есть ли способ, чтобы я мог перейти к желаемому смещению файла после прочтения всего файла?

Благодарю вас

0

Решение

Я думаю, что вы должны позвонить clear() метод потока для сброса его состояния.

Увидеть http://www.cplusplus.com/reference/ios/ios/clear/

1

Другие решения


По вопросам рекламы [email protected]