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...