簡單C語言問題,求教?關於fopen函式

2023-03-08 23:50:05 字數 1685 閱讀 1033

1樓:宿啥品

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

mode有下列幾種形態字串:

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

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

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

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

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

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

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

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

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

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

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"等,讀者注意所用系統的規定。

2樓:陳帥帥

操作方式為「a」,是追加方式開啟檔案,然後就可以寫內容了。

3樓:匿名使用者

你是在看《c和指標》這本書嗎,我覺得是r+.

c語言fopen怎麼用

4樓:九日同學呀

將檔名為path的檔案以mode指定模式開啟,檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno 中。

mode有下列幾種形態字串,r 以只讀方式開啟檔案,該檔案必須存在,r+ 以可讀寫方式開啟檔案,該檔案必須存在,rb+ 讀寫開啟一個二進位制檔案,允許讀寫資料,檔案必須存在。

5樓:手機使用者

fopen是一個檔案輸出流,他有兩個引數,第一個是路徑(也就是file型別),第二個是控制選項(可以是隻讀,只寫,追加等操作),fopen一般與buf搭配使用,通過與fgets函式配合使用,將檔案中的字串讀到buf中,這樣達到讀出檔案內容的目的,大概**如下:

file tf=null;//定義一個檔案指著,用於判斷fopen是否開啟成功,並初始化為空;

char buf[1024]=;定義一個長度為1024的陣列,用於存放檔案的內容;

tf=fopen("c:\"r");開啟c盤指定檔案,並以只讀的形式開啟,避免破壞原檔案,將fopen的返回值放在指標tf中,若開啟成功,則返回成功的指標,開啟不成功則返回空;

if(tf !=null)//判斷是否成功,不等於null則表示成功;

}fclose(tf);/將已開啟的檔案關閉;

關於C語言的問題,求教,一個關於C語言的問題,求教!!

a b 是賦值 a b 是等號 這是新手長犯錯誤 c語言中經常犯的毛病!初學者必看!c 語言的最大特點是 功能強 使用方便靈活。c編譯的程式對語法檢查並不象其它高階語言那麼嚴格,這就給程式設計人員留下 靈活的餘地 但還是由於這個靈活給程式的除錯帶來了許多不便,尤其對初學c語言的人來說,經常會出一些連...

關於c語言的簡單問題,一個關於c語言的簡單問題

scanf f,radius 改為scanf f radius printf f n,area 改為printf f n area 恩 你的錯誤就是printf和scanf函式的格式不對啊其它的都很好啊 把書本上的格式用程式來除錯下 這樣記憶更深刻 scanf f radius printf f n...

簡單的c語言問題,一個簡單的C語言問題

在c語言中a b c這種寫法是不對的 應該寫成a b b c 在你的演算法中a b c的值不確定 當a小於b時 if a b c 就會變成if 0 c 所以結果會發生錯誤 好吧 看的我頭大了,要不我給你寫一個 我上次一個就用了個三目運算子就算出來了!你這個程式就是輸出最大數 最小數 平均數 就用了8...