Попытка перечитать перенаправленный файл с помощью seekg ()

Я пытаюсь прочитать перенаправленный файл с помощью cin.get (). Это моя попытка использовать seekg, но она работает неправильно.

int temp;
while(cin.get(temp))
{
//code here
}
cin.seekg(0,ios::beg);
if(cin.fai())
{
cout << "failed";// it fails
}

0

Решение

Как правило, перенаправленные файлы не поддерживают seek операции, потому что ввод проходит stdin (или его эквивалент), который не поддерживает операции перемещения. Это связано с тем, что, хотя может существовать небольшой внутренний буфер, ожидается, что «когда что-то прочитано, оно больше не доступно на входе».

Если вы хотите иметь возможность переходить назад и вперед, либо откройте файл напрямую, либо создайте свой собственный буфер (или найдите способ прочитать входные данные только один раз!)

0

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

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

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