2016-02-23 2 views
-4

В следующем коде я читаю файл в цикле по строкам. Я хочу, когда func вызывается внутри цикла while, тогда файл должен быть прочитан из следующей строки, где он закончился в последний раз во время цикла. Я видел решения, где счетчик установлен для подсчета строк внутри цикла, но есть ли другой эффективный метод для чтения файла из определенной строки.Чтение определенной строки файла

void func(){ 

    int counter=0; 
    ifstream file("file"); 
    string str; 

    while (std::getline(file, str)) 
    { 

    //some code 

    func(); 
    } 
} 
+2

Вызов 'func()' рекурсивно внутри цикла while, вероятно, не такая умная идея. Просто увеличивайте счетчик. –

ответ

0

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

Смежные вопросы