例如,我打开ifstream,我希望它不是像往常一样从当前位置读取,而是反向(从当前位置开始)?
答案 0 :(得分:0)
您可以在C ++中使用随机文件操作。
对于ifstream ss
,您可以编写命令ss.seekg(0, ios::end)
以将文本文件中的指针移动到文本文件的末尾。现在,您可以使用x
电流从当前位置移动ss.seekg(-x, ios::current)
个字节数,然后在正向读取该位置的数据。然而,这是一个混乱的解决方案,因为您需要知道要向后移动多少位,或者必须重复计算。有关使用C ++进行随机文件操作的更多信息,请参阅http://www.learncpp.com/cpp-tutorial/137-random-file-io/。
答案 1 :(得分:0)
如果你想阅读单个字符,你可以这样:
is.seekg(0,is.end);
while(is.tellg()>1)
{
is.seekg(-2,ios::cur);
char ch;
is.read(&ch,1);
cout<<ch<<" ";
}