簡體   English   中英

qt二進制文件讀寫

[英]qt binary file writing and reading

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'。如果 ch 和 mT 變量是 int 總是 mT=4 為什么?我如何編寫 ch(二進制文件)並從二進制文件中讀取

4數字是數據的長度。 QDataStream在它之前存儲數據的長度,以指示需要讀取多少字節才能獲得寫入的數據。 您的數據已寫入它之后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM