QFile atEnd:如何重置“atEnd”?

时间:2015-07-27 09:06:33

标签: qt qfile

打开文本文件后,我阅读全部内容:

QFile MyFile("myfile.txt);
MyFile.open(QIODevice::ReadOnly);
QTextStream in (&MyFile);
while (!in.atEnd())
{
 (do something);
}
MyFile.close();

当我回想起我的函数时,“while”循环出现在它的结尾,所以放在其中的函数都没有完成。 这是一种重新初始化“atEnd”的方式,这样我可以在“while”循环中重新进入吗?

1 个答案:

答案 0 :(得分:3)

QTextStream具有seek功能,允许设置流的位置。 调用

in.seek(0)

将流设置为文件的开头。

但是,如果问题中的代码在函数中,那么当函数存在时应该删除QFile和QTextStream,因为它们是在堆栈上创建的,所以这里可能还有其他东西,问题是遗漏。