QFile :: ReadAll()返回一个空数组

时间:2015-08-13 11:02:24

标签: qt file-io

这有什么常见原因?我的第一个想法是文件即时阅读是只读的,但我已经检查了。

调用它的代码是:

QFile histogramFile(fileName);
quint64 fileSize = histogramFile.size();
QByteArray histogramByteArray = histogramFile.readAll();

1 个答案:

答案 0 :(得分:3)

引用documentation

  

此功能无法报告错误;返回一个空的QByteArray可能意味着当前没有数据可供读取,或者发生错误。

您可以使用histogramFile.errorString()查询上一个错误:

  

返回上次发生的设备错误的可读描述。

在您的情况下,您忘记了open文件,例如:

QFile histogramFile(fileName);
if (histogramFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
    QByteArray histogramByteArray = histogramFile.readAll();
}