1. 程式人生 > >fopen,fread,fclose,fgetc,fscanf,ftell等函式的用法

fopen,fread,fclose,fgetc,fscanf,ftell等函式的用法

目錄

  • fopen
  • fread
  • fclose
  • fgetc
  • fscanf
  • ftell
  • fwrite
  • fseek

函式介紹

1.fopen

FILE *fopen(const char *filename, const char *mode)

filename -- 這是 C 字串,包含了要開啟的檔名稱。

mode -- 這是 C 字串,包含了檔案訪問模式,模式如下:

字串

說明

r

以只讀方式開啟檔案,該檔案必須存在。

r+

以讀/寫方式開啟檔案,該檔案必須存在。

rb

以讀/寫方式開啟一個二進位制檔案,只允許讀資料。

rb+

以讀/寫方式開啟一個二進位制檔案,只允許讀/寫資料。

rt+

以讀/寫方式開啟一個文字檔案,允許讀和寫。

w

開啟只寫檔案,若檔案存在則長度清為 0,即該檔案內容消失,若不存在則建立該檔案。

w+

開啟可讀/寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。

a

以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留(EOF 符保留)。

a+

以附加方式開啟可讀/寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,則寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留(原來的 EOF 符不保留)。

wb

以只寫方式開啟或新建一個二進位制檔案,只允許寫資料。

wb+

以讀/寫方式開啟或建立一個二進位制檔案,允許讀和寫。

wt+

以讀/寫方式開啟或建立一個文字檔案,允許讀寫。

at+

以讀/寫方式開啟一個文字檔案,允許讀或在文字末追加資料。

ab+

以讀/寫方式開啟一個二進位制檔案,允許讀或在檔案末追加資料。

該函式返回一個 FILE 指標。否則返回 NULL,且設定全域性變數 errno 來標識錯誤。

2.fread

        fread從檔案流中讀資料,最多讀取count個項,每個項size個位元組,如果呼叫成功返回實際讀取到的項個數(小於或等於count),如果不成功或讀到檔案末尾返回 0。

size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;

buffer  用於接收資料的記憶體地址

size  要讀的每個資料項的位元組數,單位是位元組

count  要讀count個數據項,每個資料項size個位元組.

stream 輸入流

3.fclose

          fopen以後,必須進行fclose。

4.fgetc

 從資料流stream指向的檔案中讀取一個字元,讀取一個位元組後,游標位置後移一個位元組。

格式:int fgetc(FILE *stream);

5.fscanf

fscanf()函式(有點像正則表示式):

功 能: 從一個流中執行格式化輸入,fscanf遇到空格和換行時結束,注意空格時也結束。

用 法:int fscanf(FILE *stream, char *format,[argument...]);

int fscanf(檔案指標,格式字串,輸入列表);
6.ftell()

 

7.fwrite

 

8.fseek