fopen 及相關函式使用

2021-09-09 04:14:49 字數 2544 閱讀 4938

函式簡介

函式功能:開啟乙個檔案

函式原型:file* fopen(const

char * path,const

char *mode);

相關函式:open,fclose,fopen_s[

1],_wfopen

所需庫:

返回值:檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno 中。

一般而言,開啟檔案後會做一些檔案讀取或寫入的動作,若開啟檔案失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。

引數說明:

引數path字串包含欲開啟的檔案路徑及檔名,引數mode字串則代表著流形態。

mode有下列幾種形態字串:

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

r

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

rb

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

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

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

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

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

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

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

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

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

at+

上述的形態字串都可以再加乙個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函式庫以二進位制模式開啟檔案。如果不加b,表示預設加了t,即rt,wt,其中t表示以文字模式開啟檔案。由fopen()所建立的新檔案會具有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666

)許可權,此檔案許可權也會參考umask 值。

有些c編譯系統可能不完全提供所有這些功能,有的c版本不用"r+

","w+

","a+

",而用"

rw","

wr","

ar"等,讀者注意所用系統的規定。

樣例 1:

1 #include 2

3int

main()410

char input[40

];11 scanf("%s"

,input);

12 fprintf(fp,"

%s\n

",input); //

用 fprintf() 函式對 file* 輸入輸出

13 fclose(fp); //

使用完之後要關閉檔案,並將 file 指標指向空,避免游離指標。

14 fp=null;

15return0;

16 }

輸入:

輸出(output.txt):

int fprintf(file *stream,char *format,[argument]);  //格式化的資料寫入到乙個檔案中

int fscanf(file *stream, char *format,[argument...]);  //從乙個檔案中格式化的讀取資料

fopen函式以及相關

fopen函式,函式用來開啟乙個檔案 int fopen const char pathname,int flags int fopen const char pathname,int flags,mode t mode 說明 flags用於描述檔案開啟方式的引數 fopen 函式用來開啟乙個檔案,...

fopen()函式的使用

定義函式 file fopen const char path,const char mode 函式說明 引數path字串包含欲開啟的檔案路徑及檔名,引數mode字串則代表著流形態。mode有下列幾種形態字串 r 開啟唯讀檔案,該檔案必須存在。r 開啟可讀寫的檔案,該檔案必須存在。rb 讀寫開啟乙個...

關於fopen函式

在c語言中,操作檔案之前必須先開啟檔案 標頭檔案中的 fopen 函式即可開啟檔案,它的用法為 file fopen char filename,char mode file 是 標頭檔案中的乙個結構體,它專門用來儲存檔案資訊。filename為檔名 或者檔案路徑 mode為開啟方式,它們都是字串。...