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) ;
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