最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言文件打開(kāi)的模式

 更新時(shí)間:2018年03月04日 09:14:22   作者:Andrew_qian  
這篇文章主要介紹了C語(yǔ)言文件打開(kāi)的模式,以及相關(guān)的原理和知識(shí)點(diǎn)做了分享,有興趣的朋友參考學(xué)習(xí)下。

1、文件分為ASCII文件和二進(jìn)制文件,ASCII文件也稱文本文件,由一系列字符組成,文件中存儲(chǔ)的是每個(gè)字符的ASCII碼值。

2、FILE *fp;

FILE是文件類型標(biāo)識(shí)符,是C編譯系統(tǒng)定義好的一個(gè)結(jié)構(gòu)體類型,結(jié)構(gòu)體中含有文件名、文件狀態(tài)等信息。
其定義一個(gè)指針變量fp,該變量用于指向一個(gè)文件,存放的是文件緩沖區(qū)的首地址。

3、文件的打開(kāi):fopen();

C語(yǔ)言訪問(wèn)文件的方式一共有12種。由這幾個(gè)關(guān)鍵字組合而成:read,write,append(追加),text(文本文件),banary(二進(jìn)制文件),+表示讀和寫(xiě)。

4、文件的關(guān)閉:fclose();

操作系統(tǒng)對(duì)打開(kāi)的文件數(shù)量有限制,當(dāng)打開(kāi)的文件過(guò)多的時(shí)候,文件之間的讀寫(xiě)會(huì)相互影響,所以要及時(shí)關(guān)閉不使用的文件。
該函數(shù)正常關(guān)閉文件時(shí)返回0,否則-1;

關(guān)閉文件的時(shí)候,系統(tǒng)對(duì)fp所指向的緩沖區(qū)進(jìn)行清理,把數(shù)據(jù)輸出到磁盤(pán)文件,然后釋放緩沖區(qū)單元,使文件指針與具體文件脫鉤。這樣防止文件丟失、信息被破壞。

但是用C語(yǔ)言操作文件的時(shí)候,有時(shí)會(huì)產(chǎn)生亂碼,這個(gè)時(shí)候要檢查一下自己的程序,寫(xiě)入文件的變量有沒(méi)有初始化,有沒(méi)有正確關(guān)閉文件。當(dāng)變量沒(méi)有初始化的時(shí)候,亂碼經(jīng)常表現(xiàn)為“燙燙燙”。

還有一種可能就是文件編碼方式與程序的編碼方式不一致。Windows下的TXT文件都是ANSI編碼方式。注意自己的編譯器編碼方式。

r代表read的簡(jiǎn)寫(xiě),+代表可讀可寫(xiě),w代表write,b代表bit二進(jìn)制位,t代表text

r 打開(kāi)只讀文件,該文件必須存在

r+ 打開(kāi)可讀可寫(xiě)的文件,該文件必須存在(這里的寫(xiě)文件是指將之前的文件覆蓋

rt 打開(kāi)只讀文本文件,該文本必須存在

rt+ 讀寫(xiě)打開(kāi)一個(gè)文本文件,允許讀和寫(xiě),該文件必須存在(這里的寫(xiě)文件是指將之前的文件覆蓋

rb 只讀打開(kāi)一個(gè)二進(jìn)制文件,,該文本必須存在

rb+ 讀寫(xiě)打開(kāi)一個(gè)文本文件,允許讀和寫(xiě),該文件必須存在(這里的寫(xiě)文件是指將之前的文件覆蓋

w 打開(kāi)只寫(xiě)文件,若文件存在,則文件長(zhǎng)度清零,即文件內(nèi)容會(huì)消失,若文件不存在則建立該文件

w+ 打開(kāi)可讀寫(xiě)文件,若文件存在,則文件長(zhǎng)度清零,即文件內(nèi)容會(huì)消失,若文件不存在則建立該文件(這里的讀文件,同樣需要使用rewind()函數(shù))

wt 打開(kāi)只寫(xiě)文本文件,若文件存在,則文件長(zhǎng)度清零,即文件內(nèi)容會(huì)消失,若文件不存在則建立該文件

wt+ 打開(kāi)可讀寫(xiě)文本文件,若文件存在,則文件長(zhǎng)度清零,即文件內(nèi)容會(huì)消失,若文件不存在則建立該文件

wb 打開(kāi)只寫(xiě)二進(jìn)制文件,若文件存在,則文件長(zhǎng)度清零,即文件內(nèi)容會(huì)消失,若文件不存在則建立該文件

wb+ 打開(kāi)可讀寫(xiě)文件,若文件存在,則文件長(zhǎng)度清零,即文件內(nèi)容會(huì)消失,若文件不存在則建立該文件

a以附加的方式打開(kāi)只寫(xiě)文件,若文件不存在,則建立文件,存在則在文件尾部添加數(shù)據(jù),即追加內(nèi)容

a+以附加的方式打開(kāi)可讀寫(xiě)文件,不存在則建立文件,存在則寫(xiě)入數(shù)據(jù)到文件尾(這里的讀文件,同樣需要使用rewind()函數(shù),但是寫(xiě)文件不需要rewind()函數(shù),a是追加)

at二進(jìn)制數(shù)據(jù)的追加,不存在則創(chuàng)建,只能寫(xiě)。

at+讀寫(xiě)打開(kāi)一個(gè)文本文件,允許讀或在文本末追加數(shù)據(jù)(這里的讀文件,同樣需要使用rewind()函數(shù),但是寫(xiě)文件不需要rewind()函數(shù),a是追加)

ab二進(jìn)制數(shù)據(jù)的追加,不存在則創(chuàng)建,只能寫(xiě)。

ab+讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件,不存在則創(chuàng)建,允許讀或在文本末追加數(shù)據(jù)(這里的讀文件,同樣需要使用rewind()函數(shù),但是寫(xiě)文件不需要rewind()函數(shù),a是追加)

相關(guān)文章

最新評(píng)論

穆棱市| 温州市| 双流县| 和田县| 饶平县| 白城市| 余江县| 延津县| 长阳| 长海县| 河南省| 阆中市| 白银市| 长沙市| 吴堡县| 克拉玛依市| 泌阳县| 浠水县| 伊通| 黄龙县| 石渠县| 雷州市| 兴国县| 宁海县| 新乡县| 舒城县| 新巴尔虎左旗| 荆门市| 五莲县| 翁牛特旗| 梨树县| 邢台县| 武鸣县| 高淳县| 青龙| 富民县| 佳木斯市| 乌什县| 罗源县| 宜兰县| 闵行区|