C語言 檔案操作

2021-10-10 04:58:13 字數 4367 閱讀 7986

檔案操作:

序號函式名

函式解釋     

1fopen()   

原型:file *fopen(const char *filename,const char *mode)

引數:path:需要開啟的檔案路徑;mode:檔案開啟方式

返回值:正常返回:被開啟檔案的檔案指標。

異常返回:null,表示開啟操作不成功。

意思:開啟流

r以唯讀方式開啟檔案,該檔案必須存在。

r+以可讀寫方式開啟檔案,該檔案必須存在。

rb+讀寫開啟乙個二進位制檔案,允許讀資料。

rt+讀寫開啟乙個文字檔案,允許讀和寫。

w開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。

w+開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。

a以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)

a+以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。 (原來的eof符不保留)

wb只寫開啟或新建乙個二進位制檔案;只允許寫資料。

wb+讀寫開啟或建立乙個二進位制檔案,允許讀和寫。

wt+讀寫開啟或著建立乙個文字檔案;允許讀寫。

at+讀寫開啟乙個文字檔案,允許讀或在文字末追加資料。

ab+讀寫開啟乙個二進位制檔案,允許讀或在檔案末追加資料。

2fclose()

原型:int fclose(file *fp);

引數:fp:乙個已開啟檔案的檔案指標。

返回值:正常返回:0。

異常返回:eof,表示檔案在關閉時發生錯誤。

意思:關閉流 

3fputc()

原型:int fputc(int ch,file *fp)

引數:ch:是乙個整型變數,記憶體要寫到檔案中的字元(c語言中整型量和字元量可以通用)。

fp:這是個檔案指標,指出要在其中寫入字元的檔案。

返回值:正常返回: 要寫入字元的**。

非正常返回:返回eof。例如,要往"讀開啟"檔案中寫乙個字元時,會發生錯誤而返回乙個eof。

意思:寫乙個字元到流中

4fgetc()

原型:int fgetc(file *fp);

引數:fp:這是個檔案指標,它指出要從中讀取字元的檔案。

返回值:正常返回: 返回讀取字元的**。

非正常返回:返回eof。例如,要從"寫開啟"檔案中讀取乙個字元時,會發生錯誤而返回乙個eof。

意思: 從流中讀乙個字元 

5fseek()

原型:int fseek(file *fp,long offset,int base)

引數:fp:檔案指標。

offset:相對base的位元組位移量。這是個長整數,用以支援大於64kb的檔案。

base:檔案位置指標移動的基準位置,是計算檔案位置指標位移的基點。ansi c定義了base的可能取值,以及這些取值的符號常量。

返回值:

正常返回:當前指標位置。

異常返回:-1,表示定位操作出錯。

意思:在流中定位到指定的字元

6fputs()

原型:int fputs(char *str,file *fp)

引數:str:指出要寫到檔案中去的字串。

fp:這是個檔案指標,指出字串要寫入其中的檔案。

返回值:正常返回: 寫入檔案的字元個數,即字串的長度。

非正常返回:返回乙個null值,此時應當用feof()或ferror()函式來判別是讀取到了檔案尾,還是發生了錯誤。例如,要往乙個"讀開啟" 檔案中寫字串時,會發生錯誤而返回乙個null值。

意思:寫字串到流 

7fgets()  

原型:char *fgets(char *str,int n,file *fp)

返回值:正常返回:返回字串的記憶體首位址,即str的值。

非正常返回:返回乙個null值,此時應當用feof()或ferror()函式來判別是讀取到了檔案尾,還是發生了錯誤。例如,要從"寫開啟"檔案中讀取字串,將發生錯誤而返回乙個null值。

意思:從流中讀一行或指定個字元

8fprintf()

原型:int fprintf(file *fp,char *format,arg_list)

引數:fp:這是個檔案指標,指出要將資料寫入的檔案。

format:這是個指向字串的字元指標,字串中含有要寫出資料的格式,所以該字串成為格式串。格式串描述的規則與printf()函式中的格式串相同。

arg_list:是要寫入檔案的變數表列,各變數之間用逗號分隔。

返回值:無。

意思: 按格式輸出到流 

9fscanf()

原型:int fscanf(file *stream, const char *format[, address, ...])

引數:返回值:

意思:從流中按格式讀取 

10feof()  

原型:int feof(file *fp)

引數:fp:檔案指標。

返回值:返回為非0值:已到檔案尾。

返回為0值:表示還未到檔案尾。

意思:到達檔案尾時返回真值

11ferror()

原型:int ferror(file *fp)

引數:fp:檔案指標。

返回值:0:假值,表示無錯誤。

1:真值,表示出錯。

意思:發生錯誤時返回其值 

12rewind()

原型:void rewind(file *stream)

引數:返回值:

意思:復位檔案定位器到檔案開始處 ;

把當前的讀寫位置回到檔案開始,原型是void rewind(file *stream);其實本函式相當於fseek(fp,0l,seek_set);

13remove()

原型:int remove(const char *filename);

引數:返回值:

意思:刪除檔案 ,

刪除檔案,原型是int remove(const char *filename); 引數就是要刪除的檔名,成功返回0。

14fread()

原型:int fread(void *buffer,unsigned sife,unsigned count,file *fp)

引數:buffer:這是乙個void型指標,指出要將讀入資料存放在其中的儲存區首位址。

sife:指出乙個資料塊的位元組數,即乙個資料塊的大小尺寸。

count:指出一次讀入多少個資料塊(sife)。

fp:這是個檔案指標,指出要從其中讀出資料的檔案。

返回值:正常返回:實際讀取資料塊的個數,即count。

異常返回:如果檔案中剩下的資料塊個數少於引數中count指出的個數,或者發生了錯誤,返回0值。此時可以用feof()和ferror()來判定到底出現了什麼情況。

意思:從流中讀指定個數的字元

15fwrite()

原型:int fwrite(void *buffer,unsigned sife,unsigned count,file *fp)

引數:buffer:這是乙個void型指標,指出要將其中資料輸出到檔案的緩衝區首位址。

sife:指出乙個資料塊的位元組數,即乙個資料塊的大小尺寸。

count:一次輸出多少個資料塊(sife)。

fp:這是個檔案指標,指出要從其中讀出資料的檔案。

返回值:正常返回:實際輸出資料塊的個數,即count。

異常返回:返回0值,表示輸出結束或發生了錯誤。

意思:向流中寫指定個數的字元 

16tmpfile()

原型:file *tmpfile(void)

引數:返回值:

意思:生成乙個臨時檔案流 ;其原型是file *tmpfile(void); 生成乙個臨時檔案,以"w+b"的模式開啟,並返回這個臨時流的指標,如果失敗返回null。在程式結束時,這個檔案會被自動刪除。

17tmpnam()

原型:char *tmpnam(char *s);

引數:返回值:

意思:生成乙個唯一的檔名; 其原型為char *tmpnam(char *s); 生成乙個唯一的檔名,其實tmpfile()就呼叫了此函式,引數s用來儲存得到的檔名,並返回這個指標,如果失敗,返回null。

18exit()

原型:void exit(int status)

引數:status:為0值表示程式正常終止,為非0值表示乙個定義錯誤。

返回值:無

意思:exit()函式使程式立即終止執行,同時將緩衝區中剩餘的資料輸出並關閉所有已經開啟的檔案。

參考:

c語言檔案操作

rt null ch fgetc fp while ch eof fclose fp 本 例程式的功能是從檔案中逐個讀取字元,在螢幕上顯示。程式定義了檔案指標fp,以讀文字檔案方式開啟檔案 d jrzh example ex1 1.c 並使fp指向該檔案。如開啟檔案出錯,給出提示並退出程式。程式第1...

C語言檔案操作

1.首先要理解幾個概念 檔案 按一定規則儲存在磁碟上的資料集合。檔名 能唯一標識某個磁碟檔案的字串。形式 碟符 路徑 檔名.副檔名 二進位制檔案 資料以二進位制形式在儲存在磁碟上。裝置檔案 輸入 輸出裝置 標準輸入檔案 鍵盤 標準輸出檔案 標準錯誤輸出檔案 顯示器 檔案型指標 c語言是通過名為fil...

C語言檔案操作

1,兩種檔案訪問方式 輸入,輸出方式 順序訪問 直接訪問 2,資料的兩種存放形式 文字檔案 二進位制檔案 3.檔案指標 定義檔案型別指標變數的一般形式 file 指標變數名 例如 file fp1,fp2 4.開啟檔案 在使用檔案之前,需開啟檔案.在c裡使用fopen函式開啟檔案.格式為 fopen...