尝试使用seekg()重新读取重定向文件

时间:2014-03-09 21:47:33

标签: c++ io-redirection seek

我正在尝试使用cin.get()读取重定向文件。这是我尝试使用seekg的尝试,但它无法正常工作。

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

1 个答案:

答案 0 :(得分:0)

通常,重定向文件不支持seek操作,因为输入经过stdin(或等效),不支持“四处移动”操作。这是因为尽管可能存在一个小的内部缓冲区,但期望是“一旦读取了某些东西,它就不再可用于输入”。

如果你想要来回走动,可以直接打开文件,也可以创建自己的缓冲区(或者找一种只读一次输入的方法!)