c的資料檔案由一連串的字元(或位元組)組成,而不考慮行的界限,兩行資料間不會自動加分隔符,對檔案的訪問是以字元(位元組)為單位的。輸入輸出資料流的開始和結束僅受程式控制而不受物理符號(如回車換行符)控制,這就增加了處理的靈活性。這種檔案稱為流式檔案。
1.1 c語言用標準輸入輸出函式fopen來實現開啟檔案,fopen函式的呼叫方式為:
fopen(檔名,使用檔案方式)//示例fopen( 」 a1 「, 」 r 」 );
返回值:失敗返回null
檔案使用方式:
「r」(唯讀) 「w」(只寫) 「a」(追加) 「rb」(二進位制唯讀) 「wb」(二進位制只寫) 「ab」(二進位制追加)
「r+」(開啟文字檔案讀寫) 「w+」(建立乙個新的文字檔案讀寫) 「a+」(開啟乙個文字檔案讀寫)
「rb+」(開啟乙個二進位制檔案讀寫) 「wb+」(建立乙個新的二進位制檔案讀寫) 「ab+」(讀寫)
1.2 用fclose函式關閉資料檔案
fclose函式呼叫的一般形式為fclose(檔案指標);
2.1 向檔案讀寫字元
函式名呼叫形式
返回值fgetc
fgetc(fp)
讀成功,帶回所讀的字元,失敗則返回檔案結束標誌eof(即-1)
fputc
fputc(ch,fp)
輸出成功,返回值就是輸出的字元;輸出失敗,則返回eof(即-1)
2.2 向檔案讀寫字串
函式名呼叫形式
返回值fgets
fgets(str,n,fp)
讀成功,返回位址str,失敗則返回null
fputs
fputs(str,fp)
輸出成功,返回0;否則返回非0值
例: char str[10];
fgets(str, 10, fp); //從fp指向的檔案讀入乙個長度為9的字串,並新增結束符『\0』,存放到字元陣列str中
2.3 用格式化的方式讀寫檔案
fprintf(檔案指標,格式字串,輸出表列)
fscanf(檔案指標,格式字串,輸入表列)
例如:
fprintf( fp, 「%d,%6.2f」, i, f); //返回值:失敗則返回eof
fscanf( fp, 「%d,%f」, &i, &f);
2.4 用二進位制方式向檔案讀寫一組資料
fread( buff, size, count, fp); //返回值:成功則返回count的值
fwrite( buff, size, count, fp);
例如:
fread( f, 4, 10, fp); //從fp所指向的檔案讀入10個4個位元組的資料,儲存到陣列f中
3.1 檔案位置標記的定位
(1) 用rewind函式使檔案位置標記指向檔案開頭:rewind(fp)
(2) 用fseek函式改變檔案位置標記:fseek(檔案型別指標,位移量,起始點)
起始點名字
用數字代表
檔案開始位置
seek_set
0檔案當前位置
seek_cur
1檔案末尾位置
seek_end2
fseek函式呼叫例子:
函式呼叫
作用fseek(fp, 100l, 0);
將檔案位置標記向前移到離檔案開頭100個位元組處
fseek(fp, 50l, 1);
將檔案位置標記向前移到離當前位置50個位元組處
fseek(fp, -10l, 2);
將檔案位置標記從檔案末尾處向後退10個位元組
C語言 對檔案的輸入輸出及檢查函式總結
1 fopen 檔名,使用檔案方式 r 唯讀 w 只寫 a 追加 加b為二進位制 2 fclose 檔案指標 3 fgetc fp 從fp指向的檔案讀入乙個字元,讀成功,帶回所讀的字元,失敗則返回檔案結束標誌eof 即 1 4 fputc ch,fp 把字元ch寫到檔案指標變數fp所指向的檔案中 輸...
c語言對檔案的操作
檔案使用方式 含義 r 唯讀 開啟乙個文字檔案,只允許讀資料 w 只寫 開啟或建立乙個文字檔案,只允許寫資料 a 追加 開啟乙個文字檔案,並在檔案末尾寫資料 rb 唯讀 開啟乙個二進位制檔案,只允許讀資料 wb 只寫 開啟或建立乙個二進位制檔案,只允許寫資料 ab 追加 開啟乙個二進位制檔案,並在檔...
C語言對檔案的操作
從事軟體開發,經常要用到資料的讀寫,有時因資料量太小不太好用資料庫,這時運用c語言中豐富的檔案操作功能是不錯的乙個選擇.舉例說明常用的幾種形式 include include using namespace std struct node vectorhead 完成從檔案中讀取相關的資訊 int f...