您好,登錄后才能下訂單哦!
小編給大家分享一下C語言中文件打開模式的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1、文件分為ASCII文件和二進制文件,ASCII文件也稱文本文件,由一系列字符組成,文件中存儲的是每個字符的ASCII碼值。
2、FILE *fp;
FILE是文件類型標識符,是C編譯系統定義好的一個結構體類型,結構體中含有文件名、文件狀態等信息。
其定義一個指針變量fp,該變量用于指向一個文件,存放的是文件緩沖區的首地址。
3、文件的打開:fopen();
C語言訪問文件的方式一共有12種。由這幾個關鍵字組合而成:read,write,append(追加),text(文本文件),banary(二進制文件),+表示讀和寫。
4、文件的關閉:fclose();
操作系統對打開的文件數量有限制,當打開的文件過多的時候,文件之間的讀寫會相互影響,所以要及時關閉不使用的文件。
該函數正常關閉文件時返回0,否則-1;
關閉文件的時候,系統對fp所指向的緩沖區進行清理,把數據輸出到磁盤文件,然后釋放緩沖區單元,使文件指針與具體文件脫鉤。這樣防止文件丟失、信息被破壞。
但是用C語言操作文件的時候,有時會產生亂碼,這個時候要檢查一下自己的程序,寫入文件的變量有沒有初始化,有沒有正確關閉文件。當變量沒有初始化的時候,亂碼經常表現為“燙燙燙”。
還有一種可能就是文件編碼方式與程序的編碼方式不一致。Windows下的TXT文件都是ANSI編碼方式。注意自己的編譯器編碼方式。
r代表read的簡寫,+代表可讀可寫,w代表write,b代表bit二進制位,t代表text
r 打開只讀文件,該文件必須存在
r+ 打開可讀可寫的文件,該文件必須存在(這里的寫文件是指將之前的文件覆蓋
rt 打開只讀文本文件,該文本必須存在
rt+ 讀寫打開一個文本文件,允許讀和寫,該文件必須存在(這里的寫文件是指將之前的文件覆蓋
rb 只讀打開一個二進制文件,,該文本必須存在
rb+ 讀寫打開一個文本文件,允許讀和寫,該文件必須存在(這里的寫文件是指將之前的文件覆蓋
w 打開只寫文件,若文件存在,則文件長度清零,即文件內容會消失,若文件不存在則建立該文件
w+ 打開可讀寫文件,若文件存在,則文件長度清零,即文件內容會消失,若文件不存在則建立該文件(這里的讀文件,同樣需要使用rewind()函數)
wt 打開只寫文本文件,若文件存在,則文件長度清零,即文件內容會消失,若文件不存在則建立該文件
wt+ 打開可讀寫文本文件,若文件存在,則文件長度清零,即文件內容會消失,若文件不存在則建立該文件
wb 打開只寫二進制文件,若文件存在,則文件長度清零,即文件內容會消失,若文件不存在則建立該文件
wb+ 打開可讀寫文件,若文件存在,則文件長度清零,即文件內容會消失,若文件不存在則建立該文件
a以附加的方式打開只寫文件,若文件不存在,則建立文件,存在則在文件尾部添加數據,即追加內容
a+以附加的方式打開可讀寫文件,不存在則建立文件,存在則寫入數據到文件尾(這里的讀文件,同樣需要使用rewind()函數,但是寫文件不需要rewind()函數,a是追加)
at二進制數據的追加,不存在則創建,只能寫。
at+讀寫打開一個文本文件,允許讀或在文本末追加數據(這里的讀文件,同樣需要使用rewind()函數,但是寫文件不需要rewind()函數,a是追加)
ab二進制數據的追加,不存在則創建,只能寫。
ab+讀寫打開一個二進制文件,不存在則創建,允許讀或在文本末追加數據(這里的讀文件,同樣需要使用rewind()函數,但是寫文件不需要rewind()函數,a是追加)
以上是“C語言中文件打開模式的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。