Как переместить указатель istream на n символов? - PullRequest
5 голосов
/ 19 июня 2011

Я хотел бы пропустить несколько символов в двоичном файле между двумя линиями istream getline.Каков наилучший способ сделать это?

Оболочка Я только что прочитал в фиктивную переменную с помощью istream :: read?

Или в оболочке я использую n = istream :: tellg и istream :: seekg = n + 1000?

1 Ответ

19 голосов
/ 19 июня 2011

Вы можете просто переместить позицию потока относительно текущей позиции, используя аргумент std::ios::cur position:

std::ifstream f("myfile.txt");   // current position 0
f.seekg(200, std::ios::cur);     // relative seek

Отрицательные значения также допускаются. Смотрите, например здесь .

...