为什么QFile :: canReadLine()总是返回false?

问题描述:

我试图读取使用为什么QFile :: canReadLine()总是返回false?

while (file.canReadLine()) { 
    QString line = QString::fromUtf8(file.readLine()); 
    qDebug() << line; 
} 

QFile::canReadLine()始终返回false通过线文件中的行,即使file.readLine()成功,每次被称为时间(我已经测试过)读取下一行。

它应该总是返回false吗?该文档说,它总是返回false为非缓冲设备,但不是QFile缓冲?

我使用的是Qt 4.7.4。

看起来这是不是预期的行为。这是一个bug,它是has already been reported

它影响Qt版本4.7.4,4.8.0,4.8.1,4.8.2。