打开文本文件后,我阅读全部内容:
QFile MyFile("myfile.txt);
MyFile.open(QIODevice::ReadOnly);
QTextStream in (&MyFile);
while (!in.atEnd())
{
(do something);
}
MyFile.close();
当我回想起我的函数时,“while”循环出现在它的结尾,所以放在其中的函数都没有完成。 这是一种重新初始化“atEnd”的方式,这样我可以在“while”循环中重新进入吗?
答案 0 :(得分:3)
QTextStream具有seek功能,允许设置流的位置。 调用
in.seek(0)
将流设置为文件的开头。
但是,如果问题中的代码在函数中,那么当函数存在时应该删除QFile和QTextStream,因为它们是在堆栈上创建的,所以这里可能还有其他东西,问题是遗漏。