I was trying to read a file line by line using

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

but QFile::canReadLine() always returns false, even though file.readLine() succeeds and reads the next line each time it's called (I've tested that).

Is it supposed always return false? The docs say that it always returns false for unbuffered devices, but isn't QFile buffered?

I'm using Qt 4.7.4.

有帮助吗?

解决方案

It appears that this is not the expected behavior. It is a bug, and it has already been reported.

It affects Qt versions 4.7.4, 4.8.0, 4.8.1, 4.8.2.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top