第 1 頁:8.1 C文件概述 |
第 4 頁:8.2 文件處理程序結(jié)構(gòu)和文件輸入輸出常用庫函數(shù) |
以上代碼以讀方式打開一個文件,其中filename是某文件名字符串表達式。上述代碼在調(diào)用函數(shù)fopen()后立即檢查打開是否成功,如果打開不成功,就在終端上輸出該文件不能打開字樣,調(diào)用exit函數(shù)。exit函數(shù)是系統(tǒng)提供的函數(shù),該函數(shù)的執(zhí)行將釋放程序的全部資源,終止程序的執(zhí)行。調(diào)用該函數(shù)時需指定一個整數(shù),該整數(shù)將作為程序終止時給系統(tǒng)的一個返回值。若程序使用該函數(shù),應(yīng)在程序的頭寫上包含stdio.h頭文件的預(yù)處理命令。
關(guān)于函數(shù)fopen()的使用方式參數(shù),說明以下幾點:
(1)用“r”方式打開的文件只能用于從文件輸入數(shù)據(jù),不能用于輸出;而且要求該文件已經(jīng)存在,否則函數(shù)fopen() 返回NULL值。
(2)用“w”方式打開的文件只能用于向文件輸出數(shù)據(jù),不能用于輸入。如打開時,原文件不存在,則新建立一個以指定名字命名的文件;如原文件已存在,則原文件上的數(shù)據(jù)被全部刪除。
(3)如希望打開文件用于寫,又不要刪除原文件中的數(shù)據(jù),并從原文件的末尾開始添加新的數(shù)據(jù),應(yīng)該用“a”方式打開。
(4)用“r+”、“w+”、“a+” 方式打開的文件可以輸入數(shù)據(jù),也可以輸出數(shù)據(jù)。用“r+”方式只允許打開已存在的文件,以便程序能輸入數(shù)據(jù);用“w+”方式打開,則新建立一個文件,先是向文件輸出數(shù)據(jù),然后可以從該文件讀人數(shù)據(jù);用“a+”方式打開一個已存在的文件,位置指針先移到文件的末尾,準(zhǔn)備添加數(shù)據(jù),以后也可以輸入數(shù)據(jù)。
(5)要打開二進制文件,只要在對應(yīng)正文文件打開方式中接上字符b即可,如“rb”表示以輸入方式打開二進制文件。
正文文件與二進制文件在使用時,還有一點不同。對于正文文件,輸入時,回車符和換行符合成為一個換行符輸入;輸出時,換行符('\n')轉(zhuǎn)換成為回車符和換行符兩個字符一起輸出。對于二進制文件,不進行上述這種轉(zhuǎn)換。
9.文件關(guān)閉庫函數(shù)fclose()
在使用完一個文件后,程序應(yīng)該立即關(guān)閉它,以防止后繼執(zhí)行的程序語句錯誤或人為的誤操作破壞正打開著的文件。關(guān)閉文件可調(diào)用庫函數(shù)fclose()來實現(xiàn)。調(diào)用函數(shù)fclose()的一般形式為
fclose(文件指針);
例如:
fclose(fp);
調(diào)用函數(shù)fclose()的作用是使文件指針變量終止原先調(diào)用函數(shù)fopen()時所建立的它與文件的聯(lián)系。調(diào)用函數(shù)fclose()之后,不能再通過該文件指針變量對其原先相連的文件進行讀寫操作,除非被再次打開。文件被關(guān)閉后,原文件指針變量又可用來打開文件,或與別的文件相聯(lián)系,或重新與原先文件建立新的聯(lián)系。
相關(guān)推薦:推薦:2010年計算機軟件水平考試必備完美攻略北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |