尝试使用Seekg()重新指导文件

Trying to reread redirected file using seekg()

本文关键字:新指导 文件 Seekg      更新时间:2023-10-16

我正在尝试使用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(或等效),这不支持"四处移动"操作。这是因为尽管内部缓冲区可能很小,但期望是"一旦阅读了东西,它就不再在输入上可用"。

如果您想能够来回走动,请直接打开文件,或创建自己的缓冲区(或找到一次读取输入的方法!)