qt二进制文件读写

Posted

技术标签:

【中文标题】qt二进制文件读写【英文标题】:qt binary file writing and reading 【发布时间】:2013-12-16 03:44:41 【问题描述】:
void write(QString filename) 
  QChar ch('b');
  QFile mfile(filename);
  if (!mfile.open(QFile::WriteOnly) 
    qDebug() << "Could not open file for writing";
    return;
  
  QDataStream out(&mfile);
  out.setVersion(QDataStream::Qt_4_8);
  out << ch;
  mfile.close();

打开二进制文件并写入'b'(二进制)

void read(QString filename) 
  QFile mfile(filename);
  if (!mfile.open(QFile::ReadOnly)) 
    qDebug() << "Could not open file for reading";
    return;
  
  QDataStream in(&mfile);
  in.setVersion(QDataStream::Qt_4_8);
  QChar mT;
  in >> mT;
  qDebug() << mT;
  mfile.close();

读取但不是 mT='b'.if ch 和 mT 变量总是 int mT=4 为什么?我如何写入 ch(二进制文件)并从二进制文件中读取

【问题讨论】:

您需要 open() 文件进行写入/读取。 对不起,我在脑子里写代码。我打开并没有改变问题仍然 in.status()和out.status()返回的值是什么 你能正确地写下你的问题吗?您只是粘贴一些代码并期望人们以正确的方式回答?另外,这如何帮助其他有类似问题的人? 【参考方案1】:

4 数字是数据的长度。 QDataStream 在它之前存储数据的长度,以指示需要读取多少字节才能获得写入的数据。您的数据已在其后写入。

【讨论】:

以上是关于qt二进制文件读写的主要内容,如果未能解决你的问题,请参考以下文章

Qt QFile文件读写

Qt文件处理

1-QT-文件操作

个人对QT中QBitArray类的剖析

golang 读写二进制文件

怎样用Java读写二进制文件