Почему seekg не работает с getline?

Seekg, кажется, не работает, когда я достигаю EOF в myFile.

ifstream myFile("/path/file");
for(int i; i < 10; i++){
myFile.seekg(0);//reset position in myFile
while(getline(myFile, line)){
doSomething
}
}

Итак, теперь я открываю входной поток каждый цикл:

for(int i; i < 10; i++){
ifstream myFile("/path/file");//reset position in myFile
while(getline(myFile, line)){
doSomething
}
}

Но я бы лучше занял позицию 0. Как мне этого добиться?

6

Решение

Убедитесь, что вы очистили флаги ошибок перед вызовом myFile.seekg():

myFile.clear();

После того, как флаг EOF установлен, вы не сможете ничего извлечь. Вы должны очистить эти флаги, чтобы иметь возможность снова извлечь.

11

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]