Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does QFile::canReadLine() always return false?

Tags:

c++

qt

qt4

qfile

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.

like image 498
sashoalm Avatar asked Oct 22 '22 15:10

sashoalm


1 Answers

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.

like image 140
sashoalm Avatar answered Oct 28 '22 22:10

sashoalm