Я отобразил свой файл в память, используя boost::iostreams::mapped_file_source
и объявил поток для чтения файла как boost::iostreams::stream <boost::iostreams::mapped_file_source> streamReader
,
Это работало нормально, и я смог разобрать файл сопоставленной памяти. я использовал getline
прочитать весь файл и сохранить определенные смещения из файла. При выполнении этой операции я смог использовать seekg
искать streamReader в нужную позицию. Но как только весь файл прочитан, я не могу искать streamReader в любом месте.
streamReader.fail()
возвращает истину. Обнуляет ли streamReader указатель, как только он достигает конца файла?
Есть ли способ, чтобы я мог перейти к желаемому смещению файла после прочтения всего файла?
Благодарю вас
Я думаю, что вы должны позвонить clear()
метод потока для сброса его состояния.