Нужно организовать перемещение по файлу.
Например, считываются строки до какого то момента, а затем нужно считать из этого же файла строку повыше.
И так много раз.
Зачем? Пишу интерпретатор своего маленького языка.
До этого я просто считывал все в std::vector, но хранить большие файлы в оперативной памяти кажется как то нехорошо. Что тут можно использовать?
Для правильного вопроса надо знать половину ответа
Лучше один раз преобразовать исходник в промежуточный код (хотя бы на уровне лексем) и работать уже по нему. Ни к чему каждый раз проводить полный разбор текста.