C語言對檔案的輸入輸出

2021-08-26 23:51:26 字數 1839 閱讀 6870

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...