造成这种情况的一些常见原因是什么?我的第一个想法是正在读取的文件是只读的,但是我已经检查过了。
调用它的代码是:
QFile histogramFile(fileName);
quint64 fileSize = histogramFile.size();
QByteArray histogramByteArray = histogramFile.readAll();
最佳答案
引用documentation:
此功能无法报告错误。返回一个空的QByteArray可能意味着当前没有数据可读取,或者发生了错误。
您可以使用 histogramFile.errorString()
查询最后一个错误:
返回人类可读的最后发生的设备错误的描述。
在您的情况下,您忘记 open
该文件,例如:
QFile histogramFile(fileName);
if (histogramFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
QByteArray histogramByteArray = histogramFile.readAll();
}
关于qt - QFile::ReadAll()返回一个空数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31986404/