C 檔案讀寫,各種方式備忘錄

2021-09-23 20:54:09 字數 933 閱讀 1751

函式原型:file * fopen(const char * path,const char * mode);

相關函式:open,fclose,fopen_s,_wfopen

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

引數說明:

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

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

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

rb+ 讀寫開啟乙個二進位制檔案,允許讀寫資料,檔案必須存在。

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

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

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

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

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

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

ab+ 讀寫開啟乙個二進位制檔案,允許讀或在檔案末追加資料。

wx 建立文字檔案,只允許寫入資料。[c11]

wbx 建立乙個二進位制檔案,只允許寫入資料。[c11]

w+x 建立乙個文字檔案,允許讀寫。[c11]

wb+x 建立乙個二進位制檔案,允許讀寫。[c11]

w+bx 和「wb+x」相同[c11]

以x結尾的模式為獨佔模式,檔案已存在或者無法建立(一般是路徑不正確)都會導致fopen失敗。檔案以作業系統支援的獨佔模式開啟。

C 基礎備忘錄

1.decimal 型別呼叫tostring 方法後沒把末尾的0去掉的解決辦法 例子 decimal?money convert.todecimal 10.8950 string moneystr money.value.tostring 結果在同一臺機子,兩個專案裡面會出現兩個不同的結果。結果一 ...

c 備忘錄模式

結構圖 memento類 儲存狀態的容器 複製 如下 class memento public memento string state caretaker是儲存memento類 複製 如下 class caretaker originator類就是需要儲存狀態的類 複製 如下 class orig...

C語言程式備忘錄

1 編寫乙個將輸入複製到輸出的程式,並將其中連續多個空格用乙個空格代替。解1 注 從沒想到,無中生有也可以用在這裡。光靠c語言本身力量真的很有限。解2 解3 include void main 注 這個有點意思。看似空格乙個也沒輸出,但最後還是輸出了。關鍵在 當 pre ch 非空格而 ch 為空格...