庫函式方式檔案程式設計
1.核心理論
庫函式:基於c函式庫的檔案程式設計是獨立於具體的作業系統平臺的,不管是在windows下還是linux下,都是使用這些函式,使用庫函式進行程式設計可提高程式的可移植性。
流:對於標準的c函式庫,它們的操作都是圍繞流來進行的。流是一個抽象的概念,當程式需要讀取資料的時候,就會開啟一個通向資料來源的流,這個資料來源可以是檔案,記憶體或者網路連線。類似的,當程式需要寫入資料的時候,就會開啟一個通向目的的流,這時候你就可以想象資料好像在其中“流”動一樣。
檔案指標:在系統呼叫方式實現檔案訪問中,使用檔案描述符來指向一個檔案。在庫函式方式的檔案訪問中,使用FILE型別來表示一個開啟的檔案,這個型別中包含了管理檔案流的資訊。而指向該型別的指標FILE*則被稱之為檔案指標。
2.函式學習
開啟檔案
函式名:fopen
函式原型:FILE *fopen(const char *path, const char *mode);
函式功能:開啟檔案
標頭檔案:<stdio.h>
返回值:成功:檔案指標, 失敗:NULL
引數說明:path:含路徑的檔名 mode:檔案開啟模式
關閉檔案
函式名:fclose
函式原型:int fclose(FILE *fp);
函式功能:關閉檔案
標頭檔案: <stdio.h>
返回值:成功:0 失敗:EOF
引數說明:fp:檔案指標
讀檔案
函式名:fread
函式原型:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *steam);
函式功能:從檔案中讀取資料
標頭檔案: <stdio.h>
返回值:成功:讀取到的資料量 失敗:0
引數說明:stream:指向要讀取的檔案 ptr:指向要儲存的位置 memb:讀取的資料塊數 size:每塊資料的大小
寫檔案
函式名:fwrite
函式原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
函式功能:向檔案中寫入資料
標頭檔案:<stdio.h>
返回值:成功:返回成功寫入資料量 失敗:0
引數說明:stream:要寫入資料的檔案指標 ptr:存放要寫入檔案的資料 nmemb:要寫入的資料塊數 size:每塊資料的大小
檔案分定位
函式名:fseek
函式原型:int fseek(FILE *stream, long offset, int whence);
函式功能:重新定位檔案
標頭檔案: <stdio.h>
返回值:成功:0 失敗:-1
引數說明:stream:檔案指標 offset:檔案偏移 whence:從哪個地方開始偏移