函式簡介
函式功能:開啟乙個檔案
函式原型: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為開啟方式,它們都是字串。...