您好,登錄后才能下訂單哦!
這篇文章主要介紹c語言的文件存取方式是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
c語言的文件存取方式包括順序存取方式和隨機存取(需要使用fseek等函數幫助)方式兩種。
順序讀取
順序讀取也就是從上往下,一筆一筆讀取文件的內容。保存數據時,將數據附加在文件的末尾。這種存取方式常用于文本文件,而被存取的文件則稱為順序文件。
隨機存取
隨機存取方式多半以二進制文件為主。它會以一個完整的單位來進行數據的讀取和寫入,通常以結構為單位。
打開文件
函數原型為:_CRTIMP FILE * __cdecl fopen(const char *, const char *);
第一參數為文件名,第二個參數為打開模式。
打開成功,fopen返回一個結構指針地址,否則返回一個NULL。如果沒有指定文件路徑,則默認為當前工作目錄。如:
FILE *fp; fp = fopen("c:\\temp\\test.txt", "r") //由于反斜杠\是控制字符,所以必須再加一個反斜杠
使用fopen()函數打開的文件會先將文件復制到緩沖區。注意:所下達的讀取或寫入動作,都是針對緩沖區進行存取而不是磁盤,只有當使用fclose()函數關閉文件時,緩沖區中的數據才會寫入磁盤。
文件打開模式
"r":只能從文件中讀數據,該文件必須先存在,否則打開失敗 "w":只能向文件寫數據,若指定的文件不存在則創建它,如果存在則先刪除它再重建一個新文件 "a":向文件增加新數據(不刪除原有數據),若文件不存在則打開失敗,打開時位置指針移到文件末尾 "r+":可讀/寫數據,該文件必須先存在,否則打開失敗 "w+":可讀/寫數據,用該模式打開新建一個文件,先向該文件寫數據,然后可讀取該文件中的數據 "a+":可讀/寫數據,原來的文件不被刪去,位置指針移到文件末尾
打開二進制文件的模式與打開文本文件的含義是一樣的,不同的是模式名稱里面多一個字母'b’,以表示以二進制形式打開文件。
關閉文件
函數原型為:_CRTIMP int __cdecl fclose(FILE *);
關閉成功返回值0,否則返回非零值。
注:在執行完文件的操作后,要進行“關閉文件”操作。雖然程序在結束前會自動關閉所有的打開文件,但文件打開過多會導致系統運行緩慢,這時就要自行手動關閉不再使用的文件,來提高系統整體的執行效率。
例1. 打開文件并進行判斷和關閉文件
FILE *fp; fp = fopen("c:\\temp\\test.txt", "r"); if(fp == NULL) printf("fail to open the file! \n"); else { printf("The file is open! \n"); fclose(fp); }
以上是c語言的文件存取方式是什么的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。