Я пытаюсь прочитать перенаправленный файл с помощью cin.get (). Это моя попытка использовать seekg, но она работает неправильно.
int temp;
while(cin.get(temp))
{
//code here
}
cin.seekg(0,ios::beg);
if(cin.fai())
{
cout << "failed";// it fails
}
Как правило, перенаправленные файлы не поддерживают seek
операции, потому что ввод проходит stdin
(или его эквивалент), который не поддерживает операции перемещения. Это связано с тем, что, хотя может существовать небольшой внутренний буфер, ожидается, что «когда что-то прочитано, оно больше не доступно на входе».
Если вы хотите иметь возможность переходить назад и вперед, либо откройте файл напрямую, либо создайте свой собственный буфер (или найдите способ прочитать входные данные только один раз!)
Других решений пока нет …