C語言檔案操作大全

2022-09-29 11:57:09 字數 1754 閱讀 3792

1、檔案分為ascii檔案和二進位制檔案,ascii檔案也稱文字檔案,由一系列字元組成,檔案中儲存的是每個字元的ascii碼值。

2、file *fp;

file是檔案型別識別符號,是c編譯系統定義好的乙個結構體型別,結構體中含有檔名、檔案狀態等資訊。

其定義乙個指標變數fp,該變數用於指向乙個檔案,存放的是檔案緩衝區的首位址。

3、檔案的開啟:fopen();

c語言訪問檔案的方式一共dojmsu有12種。由這幾個關鍵字組合而成:read,write,append(追加),text(文字檔案),banary(二進位制檔案),+表示讀和寫

4、檔案的關閉:fclose();

作業系統對開啟的檔案數量有限制,當開啟的檔案過多的時候,檔案之間的讀寫會相互影響,所以要及時關閉不使用的檔案。

該函式正常關閉檔案時返回0,否則-1;

關閉檔案的時候,系統對fp所指向的緩衝區進行清理,把資料輸出到磁碟檔案,然後釋放緩衝區單元,使檔案指標與具體檔案脫鉤。這樣防止檔案丟失、資訊被破壞。

但是用c語言操作檔案的時候,有時會產生亂碼,這個時候要檢查一下自己的程式,寫入檔案的變數有沒有初始化,有沒有正確關閉檔案。當變數沒有初始化的時候,亂碼經常表現為「燙燙燙」。

還有一種可能就是檔案編碼方式與程式的編碼方式不一致。windows下的txt檔案都是ansi編碼方式。注意自己的編譯器編碼方式。

dojmsur代表read的簡寫,+代表可讀可寫,w代表write,b代表bit二進位制位,t代表text

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

r+ 開啟可讀可寫的檔案,該檔案必須存在(這裡的寫檔案是指將之前的檔案覆蓋

rt 開啟唯讀文字檔案,該文字必須存在

rt+ 讀寫開啟乙個文字檔案,允許讀和寫,該檔案必須存在(這裡的寫檔案是指將之前的檔案覆蓋

rb 唯讀開啟乙個二進位制檔案,,該文字必須存在

rb+ 讀寫開啟乙個文字檔案,允許讀和寫,該檔案必須存在(這裡的寫檔案是指將之前的檔案覆蓋

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

w+ 開啟可讀寫檔案,若檔案存在,則檔案長度清零,即檔案內容會消失,若檔案不存在則建立該檔案(這裡的讀檔案,同樣需要使用rewind()函式)

wt 開啟只寫文字檔案,若檔案存在,則檔案長度清零,即檔案內容會消失,若檔案不存在則建立該檔案

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

wb 開啟只寫二進位制檔案,若檔案存在,則檔案長度清零,即檔案內容會www.cppcns.com消失,若檔案不存在則建立該檔案

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

a以附加的方式開啟只寫檔案,若檔案不存在,則建立檔案,存在則在檔案尾部新增資料,即追加內容

a+以附加的方式開啟可讀寫檔案,不存在則建立檔案,存在則寫入資料到檔案尾(這裡的讀檔案,同樣需要使用rewind()函式,但是寫檔案不需要rewind()函式,a是追加)

at二進位制資料的追加,不存在則建立,只能寫。

at+讀寫開啟乙個文字檔案,允許讀或在文字末追加資料(這裡的讀檔案,同樣需要使用rewind()函式,但是寫檔案不需要rewind()函式,a是追加)

ab二進位制資料的追加,不存在則建立,只能寫。

ab+讀寫開啟乙個二進位制檔案,不存在則建立,允許讀或在文字末追加資料(這裡的讀檔案,同樣需要使用rewind()函式,但是寫檔案不需要rewind()函式,a是追加)

總結本文標題: c語言檔案操作大全

本文位址:

c語言檔案操作模式大全

rt 唯讀開啟乙個文字檔案,只允許讀資料 wt 只寫開啟或建立乙個文字檔案,只允許寫資料 at 追加開啟乙個文字檔案,並在檔案末尾寫資料 rb 唯讀開啟乙個二進位制檔案,只允許讀資料 wb 只寫開啟或建立乙個二進位制檔案,只允許寫資料 ab 追加開啟乙個二進位制檔案,並在檔案末尾寫資料 rt 讀寫開...

C語言標頭檔案大全

ctype.h 字元處理函式 本類別函式用於對單個字元進行處理,包括字元的類別測試和字元的大小寫轉換 字元測試是否字母和數字 isalnum 是否字母 isalpha 是否控制字元 iscntrl 是否數字 isdigit 是否可顯示字元 除空格外 isgraph 是否可顯示字元 包括空格 ispr...

C語言標頭檔案大全

ctype.h 字元處理函式 本類別函式用於對單個字元進行處理,包括字元的類別測試和字元的大小寫轉換 字元測試是否字母和數字 isalnum 是否字母 isalpha 是否控制字元 iscntrl 是否數字 isdigit 是否可顯示字元 除空格外 isgraph 是否可顯示字元 包括空格 ispr...