Qt與C檔案操作的差異

2021-06-15 01:51:25 字數 661 閱讀 7448

在使用qt的qdatastream類進行檔案的二進位制處理時發現與c語言的標準io有差異,下面用**說明。

#include #include #include #include int main(int argc, char *argv)

程式執行時輸出:

num_1 = 305419896

num_2 = 305419896 

使用qt creator二進位制開啟data_qt.txt,檔案內容如下

再看c語言**:

#include int main()

執行輸出結果:

同樣二進位制形式開啟data_c.txt檔案:

對比可以看出qt寫入檔案與c寫入檔案對高低位元組的處理不同,這樣就會帶來這樣的問題,同樣的檔案,比如data_c.txt,當使用qt的qdatastream整型讀入時值為0x78563412,而使用標準c的fread讀入則為0x12345678,這時可能就會造成處理資料的錯誤,因此,在使用qt對檔案進行二進位制讀寫時應該注意qdatastream在實現上與fwrite的差異,否則可能會出現處理資料的錯誤。

C 與C 的差異

1 c 結構是堆疊物件,不能在堆上建立它 2 c 結構可以繼承介面,但是不能繼承自其它結構 3 不能重寫結構的預設建構函式,需要自定義建構函式時必須建立附帶引數的建構函式,以保證和預設建構函式的引數列表有所區別 4 當使用new來建立結構物件時其建構函式自動被呼叫,若僅是像宣告乙個int型別的變數那...

C 檔案操作與C 的檔案操作

c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...

Qt4與Qt5的訊號差異

新舊語法對比 舉例介紹。某個類在值變化時傳送valuechanged qstring,qstring 訊號,需要在槽showvalue qstring 中對改變的值做相應的處理。在qt4中一般這樣來關聯訊號和槽 connect sender,signal valuechanged qstring,q...