《嵌入式系統程序設計》第五週學習總結

第5周總結
首先用二進制方式向文件讀寫一組數據,使用fread函數和fwite函數完成。這裏讀寫的數據是指一串固定長度的字節,好比一個int、一個結構體或者一個定長數組等。
其次在實驗報告裏寫入程序代碼的含義、使用的編譯命令、運行結果
而後把已有的文件進行覆蓋而且讀出來
理解各個代碼的意思
C 庫函數 size_t fread從給定流 stream 讀取數據到ptr 所指向的數組中。windows

聲明函數庫size_t fread(void ptr, size_t size, size_t nmemb, FILE stream)數組

ptr 含義是指向帶有最小尺寸 size*nmemb 字節的內存塊的指針。函數

size 含義是要讀取的每一個元素的大小,以字節爲單位。spa

nmemb 含義是元素的個數,每一個元素的大小爲 size 字節。指針

stream 含義是指向 FILE 對象的指針,該 FILE 對象指定了一個輸入流。對象

C函數庫fwrite();內存

C 庫函數 size_t fwrite把ptr 所指向的數組中的數據寫入到給定流 stream中。it

聲明格式size_t fwrite(const void ptr, size_t size, size_t nmemb, FILE stream)編譯

各個參數的含義跟fread同樣stream

它的返回值成功,該函數返回一個 size_t 對象,若是該數字與 nmemb 參數不一樣,則會顯示一個錯誤。
一、fread函數和fwrite函數的每一個參數的含義

fwrite和fread是以記錄爲單位的I/O函數,fread和fwrite函數通常用於二進制文件的輸入輸出。

(1)size_t fread ( void ptr, size_t size, size_t count, FILE stream );

其中,ptr:指向保存結果的指針;size:每一個數據類型的大小;count:數據的個數;stream:文件指針函數返回讀取數據的個數。

(2)size_t fwrite ( const void ptr, size_t size, size_t count, FILE stream );

其中,ptr:指向保存數據的指針;size:每一個數據類型的大小;count:數據的個數;stream:文件指針函數返回寫入數據的個數。
其實學到了不少知識 又一次豐富了本身

二進制和文本模式的區別:在windows系統中,文本模式下,文件以"\r\n"表明換行。若以文本模式打開文件,並用fputs等函數寫入換行符"\n"時,函數會自動在"\n"前面加上"\r"。即實際寫入文件的是"\r\n"在Linux系統中文本模式下,文件以"\n"表明換行。因此Linux系統中在文本模式和二進制模式下並沒有區別。

相關文章
相關標籤/搜索