C語言函式fopen

2021-06-25 13:21:29 字數 1571 閱讀 8937

函式功能:開啟乙個檔案

函式原型:file * fopen(const char * path,const char * mode);

open,

fclose,fopen_s

引 ,_wfopen

所需庫:<

stdio.h>

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

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

引數說明:

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

mode有下列幾種形態字串:

r 以唯讀

方式開啟檔案

,該檔案必須存在。

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

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

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

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

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

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

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

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

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

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

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

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

上 述的形態字串都可以再加乙個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函式庫開啟的檔案為二進位制檔案,而非純文字檔案。不過在posix系統,包含linux都會忽略該字元。由fopen()所建立的新檔案會具 有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666)許可權,此檔案許可權也會參考umask 值。

有些c編譯系統可能不完全提供所有這些功能,有的c版本不用"r+","w+","a+",而用"rw","wr","ar"等,讀者注意所用系統的規定。

程式示例1

#include

#include //為了使用exit()

int main()

//getc()用於在開啟檔案中獲取乙個字元

while((ch=getc(fp))!=eof)

putchar(ch);

fclose(fp); //關閉檔案

return 0;

}

c語言fopen函式

c語言函式fopen 函式簡介 1.函式功能 開啟乙個檔案 2.函式原型 file fopen const char path,const char mode 3.相關函式 open,fclose,fopen s 1 wfopen 所需庫 4.返回值 檔案順利開啟後,指向該流的檔案指標就會被返回。如...

C語言fopen函式了解

fopen 函式功能 open a file.原型 file fopen const char path,const char mode 需要 include 返回值 檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤 存在errno 中。一般開啟檔案會進行讀取或...

c語言fopen函式的總結

標頭檔案 include 函式原型 file fopen const char path,const char mode 引數 path 開啟的檔案路徑及檔名 mode 代表流形態。返回值 檔案如果正常開啟,返回指向該流的檔案指標 作用 開啟乙個檔案。開啟之後要注意 一般,開啟檔案會做讀寫操作,打檔...