fopen中r和w的區別是什麼

2021-03-04 08:49:30 字數 2848 閱讀 6561

1樓:酷涵

r+: open for reading and writing.  the stream is positioned  at  the beginning of the file.

w+:open for reading and writing.  the file is created  if  it  does not  exist, otherwise it is truncated.

 the stream is positioned at the beginning of the file.

r+具有讀寫屬性,從檔案頭開始寫,保留原檔案中沒有被覆蓋的內容;

w+具有讀寫屬性

,寫的時候如果檔案存在,會被清空,從頭開始寫。

c語言中,再對檔案的操作模式中,a和a+、w和w+、r和r+有什麼區別?

2樓:傲笑紅塵

這是檔案操作中的mode應用問題。

fopen(開啟檔案)

相關函式

open,fclose

表頭檔案 #include

定義函式 file * fopen(const char * path,const char * mode);

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

mode有下列幾種形態字串:

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

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

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

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

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

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

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

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

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

範例#include

main()

希望可以幫到你!

3樓:多想失去

r 開啟唯讀檔案,該檔案必須存在。r+ 開啟可讀寫的檔案,該檔案必須存在。

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

若檔案不存在則建立該檔案。

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

若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。

補充:a和a+、w和w+、r和r+是mode幾種形態字串。

4樓:匿名使用者

士兵不分入伍前身份戶籍,也不看軍銜等級,符合條件才能安置。

《退役士兵安置條例》,自2023年11月1日起施行。

第二十九條 退役士兵符合下列條件之一的,由人民**安排工作:

(一)士官服現役滿12年的;

(二)服現役期間平時榮獲二等功以上獎勵或者戰時榮獲三等功以上獎勵的;

(三)因戰致殘被評定為5級至8級殘疾等級的;

(四)是烈士子女的。

符合前款規定條件的退役士兵在艱苦地區和特殊崗位服現役的,優先安排工作;因精神障礙基本喪失工作能力的,予以妥善安置。

5樓:匿名使用者

a和a+如果指定的檔案不存在,會出錯,而不會建立新檔案

6樓:匿名使用者

物理科學巨人霍金去世,您身體受困於輪椅,思想卻能遨遊宇宙,希望您在那邊能身體和思想都能真正自由翱翔,讓時間永留簡史吧,讓黑洞發出「聲響」吧。

r:以唯讀的方式開啟文字檔案,檔案必須存在;

w:以只寫的方式開啟文字檔案,檔案若存在則清空檔案內容從檔案頭部開始寫,若不存在則根據檔名建立新檔案並只寫開啟;

a:以只寫的方式開啟文字檔案,檔案若存在則從檔案尾部以追加的方式開始寫,檔案原來存在的內容不會清除(除了檔案尾標誌eof),若不存在則根據檔名建立新檔案並只寫開啟;

r+:以可讀寫的方式開啟文字檔案,檔案必須存在;

w+:以可讀寫的方式開啟文字檔案,其他與w一樣;

a+:以可讀寫的方式開啟文字檔案,其他與a一樣;

若開啟二進位制檔案,可在後面加個b註明,其他一樣,如rb,r+b(或rb+)。

再次緬懷霍金。

r+和w+的區別是啥?

7樓:幻想秘境

r+ r表示read讀的意思 r+就是以可讀寫方式開啟檔案,檔案必須存在

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

8樓:匿名使用者

就想r與w的區別一樣

r什麼什麼n, r n區別是什麼?

一般來說,自動變速器的擋位分為p r n d 或l等。p parking 用作停車之用,它是利用機械裝置去鎖緊汽車的轉動部分,使汽車不能移動。當汽車需要在一固定位置上停留一段較長時間,或在停靠之後離開車輛前,應該拉好手制動及將撥桿推進 p 的位置上。要注意的是 車輛一定要在完全停止時才可使用p擋,要...

愛和喜歡的區別是什麼愛和喜歡的區別是什麼呢

喜歡是一類人,愛是乙個人。愛的時候,總是一開始覺得很甜蜜 總覺得有人陪,有人分擔,有人疼 你不再孤單 寂寞,因為有人戀著你 無論做什麼,只要能在一起那就是好的 但是慢慢地,隨著彼此越來越熟悉 你開始發現對方的缺點 於是問題乙個接乙個的出現 爭吵一次又一次的發生 你開始想要逃避這段感情 原本的甜蜜,現...

愛和喜歡的區別是什麼?喜歡和愛的區別是什麼

喜歡是一類人,愛是乙個人。喜歡乙個人,並不一定要愛他 但愛乙個人的前提,卻是一定要喜歡他。喜歡很容易轉變為愛,但愛過之後卻很難再說喜歡。因為喜歡是寬容的 而愛,則是自私的。喜歡是一種輕鬆而淡然的心態。但愛,卻太沉重。愛一但說出了口,就變成了一種誓言,一種承諾。執子之手,與之偕老 短短的八個字裡卻要包...