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

Posted

技术标签:

【中文标题】为啥 QFile::canReadLine() 总是返回 false?【英文标题】:Why does QFile::canReadLine() always return false?为什么 QFile::canReadLine() 总是返回 false? 【发布时间】:2013-03-05 13:44:34 【问题描述】:

我试图逐行读取文件

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

但是QFile::canReadLine() 总是返回false,即使file.readLine() 每次调用都会成功并读取下一行(我已经测试过了)。

它应该总是返回 false 吗?文档说它对于未缓冲的设备总是返回 false,但 QFile 不是缓冲的吗?

我使用的是 Qt 4.7.4。

【问题讨论】:

【参考方案1】:

这似乎不是预期的行为。这是一个错误,它has already been reported。

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

【讨论】:

以上是关于为啥 QFile::canReadLine() 总是返回 false?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 visualvm 中的“总时间”列与运行时持续时间不同?

为啥使用goroutine后计算任务的总时间基本一样

为啥我的 git bash 总是从 master 分支开始?

为啥常数总是从大 O 分析中删除?

为啥 Maven 不总是从 theartefactory 下载最后一个依赖项,从竹子构建?

Google Mock:为啥期望的部分排序比总排序更难满足?