C語言之檔案操作

2021-09-20 18:53:41 字數 1789 閱讀 8557

file *fopen(const char *path, const char *mode);

功能:開啟檔案

path:檔案的路徑

mode:檔案開啟的方式,以字串形式提供

"r" 以唯讀方式開啟檔案,如果檔案不存在則開啟失敗,返回值為空。

"r+" 在"r"的基礎上增加寫許可權。

"w" 以只寫方式開啟檔案,如果檔案不存在則建立,如果檔案存在則把內容清空。

"w+" 在"w"的基礎上增加讀取許可權。

"a" 以只寫方式開啟檔案,如果檔案不存在則建立,如果檔案存在則把內容保留,與"w"區別是當有新資料寫入,會追加到檔案的末尾。

"a+" 在"a"的基礎上增加讀許可權。

二進位制檔案與文字檔案的區別:

二進位制檔案,把變數的補碼直接寫到檔案中,看不懂。文字檔案,把變數值轉換成字元寫入檔案中,看的懂。文字檔案儲存的也是二進位制,是ascii碼的二進位制。

寫入文字內容:

int fprintf(file *stream, const char *format, …);

功能:把資料以文字形式寫入到檔案中

stream:檔案指標,fopen函式的返回值

format:格式化控制符,佔位符等

...:要寫入的變數。

返回值:成功寫入的變數個數。

int fscanf(file *stream, const char *format, …);

功能:從檔案中讀取資料到變數,要求檔案的內容是字元。

stream:檔案指標,fopen函式的返回值

format:格式化控制符,點位符等

返回值:成功返回讀入的引數的個數,失敗返回-1。

寫入二進位制內容:

size_t fwrite(const void *ptr, size_t size, size_t nmemb,file *stream);

功能:記憶體中的資料,以二進位制形式寫入到檔案中。

size:要寫入的位元組數

nmemb:要寫入的次數

stream:檔案指標,fopen函式的返回值

返回值:成功寫入的次數

size_t fread(void *ptr, size_t size, size_t nmemb, file *stream);

功能:從檔案中以二進位制方式讀取資料到記憶體中。

size:要讀取的位元組數

nmemb:要讀取的次數

stream:檔案指標,fopen函式的返回值

返回值:成功讀取的次數

檔案結構體中有乙個成員記錄檔案的讀寫位置,稱它位檔案位置指標,有些情況下需要調整它的位置,獲取到正確的資料。

int fseek(file *stream, long offset, int whence);

功能:根據基礎位置+偏移值調整檔案指標的位置。

stream:檔案指標,fopen函式的返回值

offset:可以為正負

whence:

seek_set 檔案頭

seek_cur 當前位置

seek_end 檔案尾

long ftell(file *stream);

功能:返回檔案位置指標所在的位置。
void rewind(file *stream);

功能:把檔案位置指標調整到開頭

C語言之檔案操作

fseek 函式 int fseek file stream,long offset,int whence 功能分析 第乙個引數為檔案指標,第二個引數表示偏移量,第三個引數表示從什麼地方開始偏移 返回值為0 表示成功,1表示失敗 whence的數值 seek set 檔案的起始位置 0 seek c...

C語言之檔案相關操作

fopen 作用 以指定方式開啟檔案 file fopen const char path 待開啟的檔案路徑 const char mode 開啟方式,有如下 r 以唯讀方式開啟 w 只寫檔案,若檔案存在則將內容清零重新寫入 若檔案不存在則建立該檔案 w 可讀寫檔案,規則同上 a 以附加的方式開啟只...

C語言之 檔案操作模式

rt 僅僅讀開啟乙個文字檔案。僅僅同意讀資料 wt 僅僅寫開啟或建立乙個文字檔案,僅僅同意寫資料 at 追加開啟乙個文字檔案,並在檔案末尾寫資料 rb 僅僅讀開啟乙個二進位制檔案。僅僅同意讀資料 wb 僅僅寫開啟或建立乙個二進位制檔案。僅僅同意寫資料 ab 追加開啟乙個二進位制檔案,並在檔案末尾寫資...