c語言庫函式包括檔案的開啟、關閉、讀、寫、 定位等各種操作
要操作檔案,首先要宣告乙個檔案指標變數file* fp;
呼叫fopen開啟檔案
檔案指標名=fopen(檔名,使用檔案方式); ps:這裡檔案路徑必須是帶雙斜槓\\
其中, 1.
檔案使用方式 意 義
「rt」 唯讀開啟乙個文字檔案,只允許讀資料
「wt」 只寫開啟或建立乙個文字檔案,只允許寫資料
「at」 追加開啟乙個文字檔案,並在檔案末尾寫資料
「rb」 唯讀開啟乙個二進位制檔案,只允許讀資料
「wb」 只寫開啟或建立乙個二進位制檔案,只允許寫資料
「ab」 追加開啟乙個二進位制檔案,並在檔案末尾寫資料
「rt+」 讀寫開啟乙個文字檔案,允許讀和寫
「wt+」 讀寫開啟或建立乙個文字檔案,允許讀寫
「at+」 讀寫開啟乙個文字檔案,允許讀,或在檔案末追加數 據
「rb+」 讀寫開啟乙個二進位制檔案,允許讀和寫
「wb+」 讀寫開啟或建立乙個二進位制檔案,允許讀和寫
「ab+」 讀寫開啟乙個二進位制檔案,允許讀,或在檔案末追加資料
r:讀檔案
w:寫檔案
a:在檔案末尾追加
t:文字檔案,可省略
b:二進位制檔案
+:讀與寫
2.只用r時,只能開啟乙個已存在檔案,並讀取資料
3.用「w」開啟的檔案只能向該檔案寫入。 若開啟的檔案不存在,則以指定的檔名建立該檔案,若開啟的檔案已經存在,則將該檔案刪去,重建乙個新檔案。
4.把乙個文字檔案讀入記憶體時,要將ascii碼轉換成二進位製碼, 而把檔案以文字方式寫入磁碟時,也要把二進位製碼轉換成ascii碼,因此文字檔案的讀寫要花費較多的轉換時間。對二進位制檔案的讀寫不存在這種轉換。
5.檔案使用完應該關閉,呼叫fclose函式。
簡單地呼叫fclose(fp);
字元讀寫函式:fgetc和fputc
字元變數=fgetc(檔案指標); ps:判斷字元變數是否為eof來判斷是否到達檔案尾部
1. 在fgetc函式呼叫中,讀取的檔案必須是以讀或讀寫方式開啟的。
2. 在檔案內部有乙個位置指標。用來指向檔案的當前讀寫位元組。在檔案開啟時,該指標總是指向檔案的第乙個位元組。使用fgetc 函式後,該位置指標將向後移動乙個位元組。 因此可連續多次使用fgetc函式,讀取多個字元。應注意檔案指標和檔案內部的位置指標不是一回事。檔案指標是指向整個檔案的,須在程式中定義說明,只要不重新賦值,檔案指標的值是不變的。檔案內部的位置指標用以指示檔案內部的當前讀寫位置,每讀寫一次,該指標均向後移動,它不需在程式中定義說明,而是由系統自動設定的。
fputc(字元,檔案指標);
1.被寫入的檔案可以用、寫、讀寫,追加方式開啟,用寫或讀寫方式開啟乙個已存在的檔案時將清除原有的檔案內容,寫入字元從檔案首開始。如需保留原有檔案內容,希望寫入的字元以檔案末開始存放,必須以追加方式開啟檔案。被寫入的檔案若不存在,則建立該檔案。
2. 每寫入乙個字元,檔案內部位置指標向後移動乙個位元組。
3. fputc函式有乙個返回值,如寫入成功則返回寫入的字元, 否則返回乙個eof。可用此來判斷寫入是否成功。
字串讀寫函式:fgets和fputs
fgets(字元陣列名,n,檔案指標);從fp所指的檔案中讀出n-1個字元送入字元陣列中。
1. 在讀出n-1個字元之前,如遇到了換行符或eof,則讀出結束。
2. fgets函式也有返回值,其返回值是字元陣列的首位址。
fputs(字串,檔案指標) ps:字串可以是字串常量,也可以是字元陣列名, 或指標變數
資料塊讀寫函式:freed和fwrite
可用來讀寫一組資料,如乙個陣列元素,乙個結構變數的值
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
buffer表示存放輸入、輸出資料的首位址, size表示資料塊的位元組數,count 表示要讀寫的資料塊塊數,fp 表示檔案指標。
格式化讀寫函式:fscanf和fprinf
fscanf(檔案指標,格式字串,輸入列表);
fprintf(檔案指標,格式字串,輸出列表);
rewind(檔案指標); 它的功能是把檔案內部的位置指標移到檔案首。
fseek(檔案指標,位移量,起始點); 用來移動檔案內部位置指標。其中位移量是long型,後加l
起始點 表示符號 數字表示
——————————————————————————
檔案首 seek_set 0
當前位置 seek_cur 1
檔案末尾 seek_end 2
檔案指標到當前內部位置指標的相對位移=ftell(檔案指標) ; 用來獲取檔案大小
fseek(fp, 0, seek_end);
length = ftell(fp);
feof(檔案指標);
功能:判斷檔案是否處於檔案結束位置,如檔案結束,則返回值為1,否則為0。
ferror(檔案指標);
功能:檢查檔案在用各種輸入輸出函式進行讀寫時是否出錯。 如ferror返回值為0表示未出錯,否則表示有錯。
clearerr(檔案指標);
功能:本函式用於清除出錯標誌和檔案結束標誌,使它們為0值。
C語言檔案讀寫
include include define maxlen 1024 int main file outfile,infile outfile fopen 1.bmp wb infile fopen c 1.bmp rb unsigned char buf maxlen int rc while r...
C語言檔案讀寫
讀取乙個完整的檔案 include include int main 如果檔案錯誤,退出1 獲得檔案大小 fseek pfile 0 seek end 指標移到檔案末位 lsize ftell pfile 獲得檔案長度 rewind pfile 函式rewind 把檔案指標移到由stream 流 指...
c語言檔案讀寫
file pfile fopen 1.txt r 獲取檔案的指標 char pbuf 定義檔案指標 fseek pfile,0,seek end 把指標移動到檔案的結尾 獲取檔案長度 int len ftell pfile 獲取檔案長度 pbuf new char len 1 定義陣列長度 rewi...