QFile.atEnd()函数死循环跳不出来

在用QFile读取txt文本时,新建了一个类用来存每一行的数据,由于每个文件行数不一样,想要动态分配数组大小,所以需要读出每个文件有多少行数据,使用的是
while(!file.atEnd()){iOperLeng++;}
调试的时候发现该句陷入了死循环,无论如何也跳不出来,其他方法像用QTextStream也是如此,在此求助各位大佬!

因为你循环内没有读取,所以一直判断的是第一行。

while(!file.atEnd()){
  file.readLine();
  iOperLeng++;
}

如有帮助,望点击我回答右上角【采纳】按钮。

while(!file.atEnd()){iOperLeng++;}这个循环里,没有读文件,文件指针没有往下移,一直在文件头的位置,肯定是死循环啊。
需要在{}循环块里添加读文件的操作,可以用file.readline()函数逐行读取