У меня есть объект istream, который нельзя найти, т.е. если я позвоню seekg()
на этом, тогда это потерпит неудачу (данные прибывают из декомпрессора, который не позволяет обратный поиск в сжатых данных). Можно ли добавить поток-обертку вокруг непривычного istream, который добавляет ограниченный поиск? Например, который всегда будет хранить последние 8192 байта, которые были прочитаны в памяти, чтобы можно было искать хотя бы так далеко назад в потоке? Если это возможно, то как?
Я посмотрел пару уроков о том, как добавить streambuf::seekoff()
а также streambuf::seekpos()
я думаю, что это те функции, которые мне нужны для этого, но я не могу сделать из головы какие-то идеи.
Может ли кто-нибудь дать мне несколько советов?
Другими словами: этот вопрос для C ++, что этот вопрос для C #.
Задача ещё не решена.