天天看點

C語言:對檔案的輸入輸出及檢查函數總結

學習筆記

1:fopen(檔案名,使用檔案方式) : r 隻讀; w 隻寫;a 追加(加b為二進制)

2:fclose(檔案指針);

3:fgetc(fp) 從fp指向的檔案讀入一個字元,讀成功,帶回所讀的字元,失敗則傳回檔案結束标志EOF(即-1)

4:fputc(ch,fp) 把字元ch寫到檔案指針變量fp所指向的檔案中 輸出成功,傳回值就是輸出的字元;輸出失敗,則傳回EOF(即-1)

5:fgets(str,n,fp) 從fp指向的檔案讀入一個長度為(n-1)的字元串,存放到字元數組str中 讀成功,傳回位址str,失敗則傳回NULL

6:fputs(str,fp) 把str所指向的字元串寫到檔案指針變量fp所指向的檔案中 輸出成功,傳回0;否則傳回非0值

7:fprintf(檔案指針, 格式字元串, 輸出表列),輸入; fscanf(檔案指針, 格式字元串, 輸出表列),輸出。//加上f對象就成為檔案。

8:fread(buffer, size, count, fp) 從檔案中對一個資料塊

9:fwrite(buffer, size, count, fp) 向檔案中寫一個資料塊

10:rewind(檔案指針) 指向開頭。

11:fseek(檔案類型指針, 位移量, 起始點);

fseek (fp,100L,0); //将檔案位置标記向前移到離檔案開頭100個位元組處

fseek (fp,50L,1); //将檔案位置标記向前移到離目前位置50個位元組處

fseek (fp,-10L,2); //将檔案位置标記從檔案末尾處向後退10個位元組

12:用ftell函數測定檔案位置标記的目前位置,ftell函數的作用是得到流式檔案中檔案位置标記的目前位置,用相對于檔案開頭的位移量來表示。如果調用函數時出錯(如不存在fp指向的檔案),ftell函數傳回值為-1L。

13:檔案讀寫的出錯檢測:

1.ferror函數

在調用各種輸入輸出函數(如putc,getc,fread,fwrite等)時,如果出現錯誤,除了函數傳回值有所反映外,還可以用ferror函數檢查。如果ferror傳回值為0(假),表示未出錯;如果傳回一個非零值,表示出錯。

2.clearerr(fp)函數 clearerr的作用是使檔案出錯标志和檔案結束标志置為0。 假設在調用一個輸入輸出函數時出現錯誤,ferror函數值為一個非零值。應該立即調用clearerr(fp),使ferror(fp)的值變成0,以便再進行下一次的檢測。隻要出現檔案讀寫出錯标志,它就一直保留,直到對同一檔案調用clearerr函數或rewind函數,或任何其他一個輸入輸出函數。