版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、文件教學目標:教學目標:了解文件的概念;熟練掌握緩沖文件系統(tǒng)和非緩沖文件系統(tǒng)的概念及其區(qū)別;熟練掌握文件類型指針的概念;熟練掌握打開文件和關(guān)閉文件的方法;熟練掌握利用標準IO提供的四種讀寫文件的方法對文件進行順序讀寫和隨機讀寫;了解文件操作的出錯檢測方法。教學重點:教學重點:緩沖文件系統(tǒng)與非緩沖文件;文件類型指針;文件的打開與關(guān)閉;利用標準IO提供的四種讀寫文件的方法對文件進行順序讀寫和隨機讀寫。教學難點:教學難點:緩沖文件系統(tǒng)與非緩沖
2、文件;利用標準IO提供的四種讀寫文件的方法對文件進行順序讀寫操作和隨機讀寫操作。11.1文件概述文件概述11.1.1文件的概念文件的概念所謂文件是指記錄在外部存儲介質(zhì)上的數(shù)據(jù)集合。例如,用EDLN編輯好的一個源程序就是一個文件,把它存儲到磁盤上就是一個磁盤文件。從計算機上輸出一個源文件到打印機,這也是一個文件。廣義上說,所有輸入輸出設(shè)備都是文件。例如,鍵盤、顯示器、打印機都是文件。計算機以這些設(shè)備為對象進行輸入輸出,對這些設(shè)備的處理方法
3、統(tǒng)一按文件處理。計算機中的文件可以從不同角度進行分類:(1)按文件介質(zhì):磁帶文件、磁盤文件和卡片文件等。(2)按文件內(nèi)容:源程序文件、目標文件、可執(zhí)行文件和數(shù)據(jù)文件等。(3)按文件中數(shù)據(jù)的組織形式:二進制文件和文本文件。文本文件是指文件的內(nèi)容是由一個一個的字符組成,每一個字符一般用該字符對應(yīng)的II碼表示。例如,一個實數(shù)136.56占6個字符。二進制文件是以數(shù)據(jù)在內(nèi)存中的存儲形式原樣輸出到磁盤上去。例如,實數(shù)136.56在內(nèi)存中以浮點形式
4、存儲,占4個字符,而不是6個字節(jié)。若以二進制形式輸出此數(shù),就將該4個字節(jié)按原來在內(nèi)存中的存儲形式送到磁盤上去。不管一個實數(shù)有多大,都占4個字節(jié)。一般來說,文本文件用于文檔資料的保存,方便用戶閱讀理解;二進制文件節(jié)省存儲空間而且輸入輸出的速度比較快。因為在輸出時不需要把數(shù)據(jù)由二進制形式轉(zhuǎn)換為字符代碼,在輸入時也不需要把字符代碼先換成二進制形式然后存入內(nèi)存。如果存入磁盤中的數(shù)據(jù)只是暫存的中間結(jié)果數(shù)據(jù),以后還要調(diào)入繼續(xù)處理,一般用二進制文件以
5、節(jié)省時間和空間。如果輸出的數(shù)據(jù)是準備作為文檔供給人們閱讀的,一般用字符代碼文件,它們通過顯示器或打印機轉(zhuǎn)換成字符輸出,比較直觀。11.1.2緩沖文件系統(tǒng)和非緩沖文件系統(tǒng)緩沖文件系統(tǒng)和非緩沖文件系統(tǒng)目前C語言所使用的磁盤文件系統(tǒng)有兩大類:一類稱為緩沖文件系統(tǒng),又稱為標準文件系統(tǒng)或高層文件系統(tǒng);另一類稱非緩沖文件系統(tǒng),又稱為低層文件系統(tǒng)。(1)緩沖文件系統(tǒng)的特點對程序中的每一個文件都在內(nèi)存中開辟一個“緩沖區(qū)”。從磁盤文件輸入的數(shù)據(jù)先送到“輸
6、入緩沖區(qū)”,然后再從緩沖區(qū)依次將數(shù)據(jù)送給接收變量。在向磁盤文件輸出數(shù)據(jù)時,先將程序數(shù)據(jù)區(qū)中變量或表達式的值送到“輸出緩沖區(qū)”用變量名來標識,而設(shè)置一個指向該結(jié)構(gòu)體變量的指針變量,通過指針變量來訪問該結(jié)構(gòu)體變量。定義文件類型指針變量的語法格式為:FILE文件結(jié)構(gòu)體指針變量名例如:FILEfp1fp2fp3文件指針是緩沖文件系統(tǒng)的一個很重要的概念,只有通過文件指針才能調(diào)用相應(yīng)的文件。11.2文件打開與關(guān)閉文件打開與關(guān)閉11.2.1文件的打開
7、文件的打開對磁盤文件的操作必須是“先打開,后讀寫,最后關(guān)閉”。所謂“打開文件”就是在程序和操作系統(tǒng)之間建立起聯(lián)系,程序把所要操作文件的一些信息通知給操作系統(tǒng)。這些信息中除包括文件名外,還要指出文件操作方式是讀還是寫:(1)讀文件。首先確定此文件是否已存在,如果存在則將讀寫當前位置設(shè)定在文件開頭,以便從文件開頭讀取數(shù)據(jù),否則進行錯誤處理。(2)寫文件。首先檢查原來是否有同名文件,如果有則將該文件刪除并建立一個新文件,否則就將讀寫當前位置設(shè)
8、定在文件開頭,以便從文件開頭寫入數(shù)據(jù)。打開文件用fopen函數(shù)實現(xiàn)。它的調(diào)用語法格式為:fopen(文件名文件使用方式)例如:fopen(“file.txt”“r”)表示要打開file.txt文件,對文件的使用方式為只讀方式。文件操作方式見P297表9.2。調(diào)用fopen函數(shù)之后,fopen函數(shù)有一個返回值。它是一個地址值,指向被打開文件的文件信息區(qū)的起始地址。如果打開文件失敗,則返回一個NULL指針。fopen函數(shù)的返回值應(yīng)當立即賦給
9、一個文件類型指針變量,以便以后能通過該指針變量來訪問此文件,否則此函數(shù)返回值就會丟失而導致程序中無法對此文件進行操作。簡而言之,在打開一個文件時,程序通知編譯系統(tǒng)三個方面的信息:(1)要打開哪一個文件,以“文件名”指出。(2)對文件的使用方式。(3)函數(shù)的返回值賦給哪一個指針變量,或者說讓哪一個指針變量指向該文件。對于磁盤文件,在使用前要先打開,而對終端設(shè)備,盡管它們也作為文件來處理,但為什么在前面的程序中從未使用過打開文件的操作嗎?這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言文件操作函數(shù)大全
- c語言位操作
- c語言頭文件大全
- c#文件操作大全
- 棧的操作c語言
- [c語言畢設(shè)]c語言文件系統(tǒng)設(shè)計+論文
- C語言程序文件.zip
- C語言程序文件.zip
- c語言中的移位操作
- header頭文件的原型c語言
- c_文件的讀寫操作[1]
- c語言字符串操作大全
- c語言課程設(shè)計-文件加密解密
- c語言課程設(shè)計-文件加密解密
- 如何使用codeblocks進行c語言編程操作
- c語言程序課程設(shè)計--文件存取練習
- c語言課程設(shè)計報告--文件存取練習
- 24c02eeprom存儲器的c語言操作
- linux操作系統(tǒng)下c語言編程入門
- c語言操作題??季幊填}庫
評論
0/150
提交評論