Qt 二進位制檔案讀寫

2021-10-20 07:36:18 字數 2070 閱讀 1916

qt 使用 qfile 和 qdatastream 進行二進位制資料檔案的讀寫:

qdatastream 儲存檔案時使用的資料編碼的方式不同,可以儲存為兩種檔案:

儲存為stm檔案

資料流寫入資料時都使用運算子「<<」,不論寫的是 qint16、qreal 還是字串。

除了可以寫入基本的資料型別外,qdatastream 流操作還可以寫入很多其他型別的資料,如 qbrush、qcolor, qimage、qicon 等,這些稱為可序列化的資料型別(serializing qt data types)。

qstring filename = "test.stm";

qfile file(filename);

if (!file.open(qiodevice::writeonly | qiodevice::truncate))

return false;

//流讀取檔案

qdatastream stream(&file);

//設定版本號,寫入和讀取的版本號要相容

stream.setversion(qdatastream::qt_5_9);

//寫入流

qstring name = "張三";

int age = 18;

qcolor color("red");

stream<讀取stm檔案

qstring filename = "test.stm";

qfile file(filename);

if (!file.open(qiodevice::readonly))

return false;

//流讀取檔案

qdatastream stream(&file);

//設定版本號,寫入和讀取的版本號要相容

stream.setversion(qdatastream::qt_5_9);

qstring name;

int age = 0;

qcolor color;

//輸出流

stream>>name;

stream>>age;

stream>>color;

//關閉檔案

file.close();

儲存為dat檔案

建立通用格式檔案(即檔案格式完全透明,每個位元組都有具體的定義,如 seg-y 檔案)的方法是以標準編碼方式建立檔案,使檔案的每個位元組都有具體的定義。使用者在讀取這種檔案時,按照檔案格式定義讀取出每個位元組資料並做解析即可,不管使用什麼程式語言都可以編寫讀寫檔案的程式。

qstring filename = "test.dat";

qfile file(filename);

if (!file.open(qiodevice::writeonly | qiodevice::truncate))

return false;

//流讀取檔案

qdatastream stream(&file);

//windows平台

stream.setbyteorder(qdatastream::littleendian);

//寫入流

stream<讀取dat檔案

qstring filename = "test.dat";

qfile file(filename);

if (!file.open(qiodevice::readonly))

return false;

//流讀取檔案

qdatastream stream(&file);

//windows平台

stream.setbyteorder(qdatastream::littleendian);

qstring name;

int age = 0;

//輸出流

stream>>name;

stream>>age;

//關閉檔案

file.close();

二進位制檔案讀寫

define crt secure no warnings include include include size t fread void buffer,size t size,size t count,file stream size t fwrite const void buffer,si...

32 QT 二進位制檔案讀寫

qdatastream既能夠訪問 c 基本型別,如 int char short 等,也可以訪問複雜的資料型別,例如自定義的類。實際上,qdatastream對於類的儲存,是將複雜的類分割為很多基本單元實現的。結合qiodevice,qdatastream可以很方便地對檔案 網路套接字等進行讀寫操作...

C 讀寫二進位制檔案

摘要 使用c 讀寫二進位制檔案,在開發中操作的比較頻繁,今天有幸找到一篇文章,遂進行了一些試驗,並進行了部分的總結。使用c 操作檔案,是研發過程中比較頻繁的,因此進行必要的總結和封裝還是十分有用的。今天在網上找到一篇,遂進行了部分的試驗,以記之,備後用。include 寫二進位制檔案 寫二進位制檔案...