1樓:傲笑紅塵
這是檔案操作中的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()
希望可以幫到你!
2樓:多想失去
r 開啟只讀檔案,該檔案必須存在。r+ 開啟可讀寫的檔案,該檔案必須存在。
w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。
若檔案不存在則建立該檔案。
a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。a+ 以附加方式開啟可讀寫的檔案。
若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。
補充:a和a+、w和w+、r和r+是mode幾種形態字串。
3樓:匿名使用者
士兵不分入伍前身份戶籍,也不看軍銜等級,符合條件才能安置。
《退役士兵安置條例》,自2023年11月1日起施行。
第二十九條 退役士兵符合下列條件之一的,由人民**安排工作:
(一)士官服現役滿12年的;
(二)服現役期間平時榮獲二等功以上獎勵或者戰時榮獲三等功以上獎勵的;
(三)因戰致殘被評定為5級至8級殘疾等級的;
(四)是烈士子女的。
符合前款規定條件的退役士兵在艱苦地區和特殊崗位服現役的,優先安排工作;因精神障礙基本喪失工作能力的,予以妥善安置。
4樓:匿名使用者
a和a+如果指定的檔案不存在,會出錯,而不會建立新檔案
5樓:匿名使用者
物理科學巨人霍金去世,您身體受困於輪椅,思想卻能遨遊宇宙,希望您在那邊能身體和思想都能真正自由翱翔,讓時間永留簡史吧,讓黑洞發出「聲響」吧。
r:以只讀的方式開啟文字檔案,檔案必須存在;
w:以只寫的方式開啟文字檔案,檔案若存在則清空檔案內容從檔案頭部開始寫,若不存在則根據檔名建立新檔案並只寫開啟;
a:以只寫的方式開啟文字檔案,檔案若存在則從檔案尾部以追加的方式開始寫,檔案原來存在的內容不會清除(除了檔案尾標誌eof),若不存在則根據檔名建立新檔案並只寫開啟;
r+:以可讀寫的方式開啟文字檔案,檔案必須存在;
w+:以可讀寫的方式開啟文字檔案,其他與w一樣;
a+:以可讀寫的方式開啟文字檔案,其他與a一樣;
若開啟二進位制檔案,可在後面加個b註明,其他一樣,如rb,r+b(或rb+)。
再次緬懷霍金。
在c語言的檔案中,像r,w,a,r+,w+,a+分別是什麼意思,前面三者與後面三者有什麼區別嗎?
6樓:雲盤雲存
r 開啟只讀檔案,該檔案必須存在。
r+ 開啟可讀寫復的檔案,該檔案必須存在。
w 開啟只寫檔案,若檔案存在則檔案長度清為0,即制該檔案內容會消失。若檔案不存在則建立該檔案。
w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立百該檔案。
a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。
a+ 以附加方式開啟可讀寫的文度件。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。
7樓:匿名使用者
r是隻讀,檔案已存在,指標在檔案頭;r+是讀寫方式,讀寫指標都在檔案頭。w是隻寫方式,w+是讀寫方式建立新檔案,讀指標在檔案頭。a是追加方式開啟檔案,指標指向檔案尾;a+是讀寫方式開啟檔案,讀從檔案開始,寫從檔案尾開始。
c語言中,再對檔案的操作模式中,a和a+、w和w+、r和r+有什麼區別?
8樓:多想失去
r 開啟bai只讀檔案,該檔案必須存在
du。zhir+ 開啟可
dao讀寫的檔案回,該檔案必須存在。
w 開啟只寫檔案,若文答件存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。
若檔案不存在則建立該檔案。
a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。a+ 以附加方式開啟可讀寫的檔案。
若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。
補充:a和a+、w和w+、r和r+是mode幾種形態字串。
請問一下在c語言中,r+和w+,及a+這三個操作有哪些區別?
9樓:孤鬆獨海
r+ 以可讀寫方式開啟檔案,該檔案必須存在。
w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。
a+ 以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。 (原來的eof符不保留)
10樓:孟林
使用r+選項,將r選擇項的功能擴充為即允許讀也允許寫檔案。(該檔案必須存在)
使用w+選項建立一個可讀可寫的新檔案。(若檔案不存在則建立檔案)使用a+可以從檔案的當前位置開始往檔案中新增內容,而用可同時讀寫檔案。(若檔案不存在則建立檔案,若存在則將資料新增到檔案尾)。
希望有所幫助。
11樓:匿名使用者
這不是檔案操作麼
「r+」 開啟檔案用於讀和寫(該檔案必須存在)。
「w+」 開啟一個空檔案用於讀和寫,如果給定的檔案存在,它的內容被消毀。
「a+」 開啟檔案用於讀和新增,新增操作包括在新資料寫到該檔案之前刪除eof標誌,
12樓:匿名使用者
r+:表示開啟一個文字檔案準備進行讀寫,w+:表示為讀寫建立一個新的文字檔案,a+:表示為讀寫開啟一個文字檔案
r,w,a+,r+在c語言中各自表示什麼意思?
13樓:夜の協奏曲
對於檔案使用方式有以下幾點說明:
14樓:匿名使用者
都是資料!
如果非要追究有什麼意思,應該得在你遇到它們的具體程式裡看
c語言中檔案開啟。如何區分何時用r,w,a,r+ w+ a+
15樓:
「r」 只讀開啟一個文字檔案,只允許讀資料「w」 只寫開啟或建立一個文字檔案,只允許寫資料「a」 追加開啟一個文字檔案,並在檔案末尾寫資料「rb」 只讀開啟一個二進位制檔案,只允許讀資料「wb」 只寫開啟或建立一個二進位制檔案,只允許寫資料「ab」 追加開啟一個二進位制檔案,並在檔案末尾寫資料「r+」 讀寫開啟一個文字檔案,允許讀和寫「w+」 讀寫開啟或建立一個文字檔案,允許讀寫「a+」 讀寫開啟一個文字檔案,允許讀,或在檔案末追加資料「rb+」 讀寫開啟一個二進位制檔案,允許讀和寫「wb+」 讀寫開啟或建立一個二進位制檔案,允許讀和寫「ab+」 讀寫開啟一個二進位制檔案,允許讀,或在檔案末追加資料
你需要知道r,w,a,r+ w+ a+等等所代表的具體含義是什麼,然後在具體情況下做出相應的選擇即可。
16樓:暮靄晨曦
根據自己的需求了,可以把功能放大,但是不要縮小,建議按需要選取。
c語言檔案開啟時 w+和r+有什麼不同。。除了一個要求檔案必須存在 一個沒要求外。。
17樓:匿名使用者
當檔案不存在時,r+不會建立,而會導致呼叫失敗,但w+會建立。
如果檔案存在,r+不會自動清空檔案,但w+會自動把已有檔案的內容清空。
另外,r+開啟檔案後,會把讀寫指標指向檔案的開頭,所以會覆蓋已有的檔案
所以說,你的例子中,以r+方式開啟,輸入d,檔案內容會變為dbc;以w+方式則會變為d。
像這樣的問題,你自己要去試試就知道了。
18樓:匿名使用者
1、中國艦艇命名規則: 巡洋艦(或巡洋艦以上):以行政省(區)或直轄市命名。例如:遼寧號航空母艦;
2、轄區命名北海轄區用華北、東北、西北等14省市區地名(遼寧、吉林、黑龍江、內蒙、青海、甘肅、寧夏、陝西、山西、北京、天津、河北、山東、河南);
東海轄區用華東7省市及新疆自治區地名(上海、江蘇、浙江、安徽、福建、江西、湖北、新疆);
南海轄區用華南及西南9省市區地名(湖南、廣東、廣西、海南、四川、重慶、貴州、雲南、**)。
3、如果航母在南海,名稱會從「湖南、廣東、廣西、海南、四川、重慶、貴州、雲南、**」等幾個名稱選擇,一般為廣東、廣西、海南三個名稱中選擇(因為上述三省都有艦隊基地,)。最可能是用廣東(因為南海艦隊總部所在地)、海南(南部最大海軍基地所在地)。
如果航母部署在北海艦隊、東海艦隊。如果是這樣,那麼航母就應該叫山東(北海艦隊司令部所在地)、浙江(東海艦隊總部所在地)。
3、網傳001a航母叫山東艦,那麼山東艦可能與遼寧艦組成航母編隊,這兩艘都是滑躍起飛的姊妹航母一同訓練,一起出擊,那麼002級再部署其他海域也是合乎情理的。
4、個人傾向於001a航母叫山東艦。002型兩艘(18號艦、19號艦)叫廣東艦、海南艦。當然這只是個人的一家之言。不過網友傾向於臺灣號!
c語言中,再對檔案的操作模式中,a和aw和wr和r
r 開啟bai只讀檔案,該檔案必須存在 du。zhir 開啟可 dao讀寫的檔案回,該檔案必須存在。w 開啟只寫檔案,若文答件存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。w 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。a 以附加的...
c語言中,fopen(「檔名開啟方式」)中的檔名可以是變數嗎
檔名可以直接寫進去,也可以放在變數裡 file fp char namein abc.txt fp fopen namein,r 或 fp fopen abc.txt r 檔名若帶路徑,單反斜槓要寫成雙反斜槓,例如 char namein c path abc.txt 長路徑可用8字母格式縮寫 c ...
C語言檔案操作中輸出結構體亂碼的問題
你的out.txt的內容是你自己打進去的,不是用fwrite寫進去的,而且你結構中還包含了,什麼的,如果你的內容是用fwrite寫進去的就可以用fread讀了,它們是要配合使用的。別取巧啦。struct student type stud size 問題在於它的內容比有效的內容大很多。所以讀入的時候...