Как считывать n-ю строку из файла?

Рейтинг: 0Ответов: 1Опубликовано: 14.03.2015

Имеется текстовый файл, состоящий из структур, в каждой по три строки (1-я строка: название, 2-я: номер, 3-я: массив из 5 чисел). Мне нужно каждую третью строку файла записывать в другой массив.

Как перемещаться по нужным позициям в файле?

Если бы я вручную вводил, то делал это так:

for (int k=0; k<5; k++)
cin >> m[k];

Или если бы нужно было записать только одну строку:

ifstream in("file.txt");
for (int k=0; k<5; k++)
in >> m[k];

Ответы

▲ 4

Специально перемещаться по позициям не нужно. Просто читайте файл по строкам и подсчитывайте их номера. Каждую третью выводите.

string s;
int n = 0;

while (getline(in, s)) {
  if ((++n % 3) == 0)
    cout << s << '\n';
}