Обслуживание части объекта ifstream как istream - PullRequest
0 голосов
/ 08 мая 2018

Это похоже на простой вопрос; Я новичок, когда дело доходит до магии с ++.

У меня есть ifstream и функция, которая принимает istream в качестве единственного аргумента. Я хотел бы передать ему объект, в котором будут удалены последние пару байтов / символов (или установлена ​​определенная длина), но в остальном они ведут себя точно так же, как исходный объект ifstream. В идеале, без чтения ifstream s содержимого сразу в память.

В частности, у меня есть функция синтаксического анализа, которая должна обрабатывать большую часть файла (кроме последнего фрагмента), и я хотел бы создать «представление» того же файлового потока, где удаляется последний фрагмент.

Файл гарантированно не изменится, и я знаю длину фрагмента, который хочу проанализировать заранее.

Спасибо!

...