如果我想从文件中获取二进制值,无论它们具有哪种格式,我该怎么做? 我已经尝试过这段代码,但它只能逐行读取文本文件,仅此而已。
QFile file(QFileDialog::getOpenFileName (this, tr("Open File"),
"",tr("")));
if (!file.open(QIODevice::ReadOnly ))
return ;
int size = file.size();
qDebug()<<size;
while (!file.atEnd()) {
QByteArray line = file.readLine();
qDebug()<<line;
最佳答案
分配一个缓冲区来读取数据并使用QFile::read函数。例如:
qint64 bufSize = 1024;
char *buf = new char[bufSize];
qint64 dataSize;
while (!file.atEnd()) {
dataSize = file.read(buf, bufSize);
/* process data */
}
关于qt - 如何将任何类型的文件读取为二进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11930612/