c語言中檔案部分a和r有什麼區別?書上寫的都是為

2021-03-04 02:23:34 字數 4021 閱讀 7085

1樓:匿名使用者

a+ 是讀寫,寫的方式是追加,不刪除原來的內容。

r+ 是讀寫,從檔案頭開始寫,會覆蓋原來的內容。

2樓:匿名使用者

r+是在檔案開頭進行讀寫。

a+是在檔案最後進行讀寫。

c語言檔案關閉與開啟中,r +,a+ 有什麼區別

3樓:巭奧特曼

r 只讀 為輸入開啟一個文字檔案(檔案必須存在)w 只寫 為輸出開啟一個文字檔案(如沒有檔案,則新建)

a 追加 向文字檔案尾新增資料(如沒有檔案,則新建)rb 只讀 為輸入開啟一個二進位制檔案wb 只寫 為輸出開啟一個二進位制檔案ab 追加 向二進位制檔案尾新增資料r+ 讀寫 為讀寫開啟一個文字檔案(檔案必須已經存在)w+ 讀寫 為讀寫建立一個新的文字檔案a+ 讀寫 為讀寫開啟一個文字檔案(讀寫指標定位在最後)rb+ 讀寫 為讀寫開啟一個二進位制檔案wb+ 讀寫 為讀寫建立一個新的二進位制檔案ab+ 讀寫 為讀寫開啟一個二進位制檔案

4樓:匿名使用者

r+只是讀,不能寫

a+是寫,追加,不會刪掉之前的內容

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

5樓:傲笑紅塵

這是檔案操作中的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()

希望可以幫到你!

6樓:多想失去

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

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

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

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

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

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

7樓:匿名使用者

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

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

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

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

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

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

(四)是烈士子女的。

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

8樓:匿名使用者

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

9樓:匿名使用者

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

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

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

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

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

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

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

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

再次緬懷霍金。

在c語言的檔案中,像r,w,a,r+,w+,a+分別是什麼意思,前面三者與後面三者有什麼區別嗎?

10樓:雲盤雲存

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

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

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

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

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

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

11樓:匿名使用者

r是隻讀,檔案已存在,指標在檔案頭;r+是讀寫方式,讀寫指標都在檔案頭。w是隻寫方式,w+是讀寫方式建立新檔案,讀指標在檔案頭。a是追加方式開啟檔案,指標指向檔案尾;a+是讀寫方式開啟檔案,讀從檔案開始,寫從檔案尾開始。

c語言中檔案開啟。如何區分何時用r,w,a,r+ w+ a+

12樓:

「r」    只讀開啟一個文字檔案,只允許讀資料「w」      只寫開啟或建立一個文字檔案,只允許寫資料「a」      追加開啟一個文字檔案,並在檔案末尾寫資料「rb」      只讀開啟一個二進位制檔案,只允許讀資料「wb」       只寫開啟或建立一個二進位制檔案,只允許寫資料「ab」       追加開啟一個二進位制檔案,並在檔案末尾寫資料「r+」      讀寫開啟一個文字檔案,允許讀和寫「w+」      讀寫開啟或建立一個文字檔案,允許讀寫「a+」      讀寫開啟一個文字檔案,允許讀,或在檔案末追加資料「rb+」      讀寫開啟一個二進位制檔案,允許讀和寫「wb+」      讀寫開啟或建立一個二進位制檔案,允許讀和寫「ab+」      讀寫開啟一個二進位制檔案,允許讀,或在檔案末追加資料

你需要知道r,w,a,r+ w+ a+等等所代表的具體含義是什麼,然後在具體情況下做出相應的選擇即可。

13樓:暮靄晨曦

根據自己的需求了,可以把功能放大,但是不要縮小,建議按需要選取。

c語言中檔案路徑和有什麼區別嗎

unix使用斜杆 作為路徑分隔符,而web應用最新使用在unix系統上面,所以目前所有的網路地址都採用 斜杆 作為分隔符。windows由於使用 斜杆 作為dos命令提示符的引數標誌了,為了不混淆,所以採用 反斜槓 作為路徑分隔符。所以目前windows系統上的檔案瀏覽器都是用 反斜槓 作為路徑分隔...

C語言srand和rand函式,c語言中rand()函式與srand()函式有什麼區別呢

標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回一個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...

C語言的錯誤,C語言中的錯誤和警告有什麼區別

語法錯誤,return前面缺少分號,上面一句printf最後沒加表示語句結束的分號 話說要學程式設計還是把英語練練吧,這麼簡單的英文提示都看不懂,以後比較麻煩 錯誤會導致程式無法編譯通過,進而不能執行而警告是說程式中有些 編寫不是非常恰當,不會影響程式編譯,在少數情況下會影響程式執行一般警告可以忽略...