




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、文件分類文件分類:按文件的讀寫方式分類按文件的讀寫方式分類 :n順序文件 。n隨機(jī)文件 。按存儲介質(zhì):按存儲介質(zhì):n磁盤文件:存儲介質(zhì)文件(磁盤、磁帶等)。存儲介質(zhì)文件(磁盤、磁帶等)。n設(shè)備文件:非存儲介質(zhì)(鍵盤、顯示器、打印機(jī)非存儲介質(zhì)(鍵盤、顯示器、打印機(jī)等)。等)。按文件的結(jié)構(gòu)形式分類按文件的結(jié)構(gòu)形式分類 :nASCII文件(文本文件):每個字節(jié)存放每個字節(jié)存放ASCIIASCII碼碼,表,表示示一個字符一個字符。n二進(jìn)制文件:數(shù)據(jù)按其在內(nèi)存中的存儲形式原樣存數(shù)據(jù)按其在內(nèi)存中的存儲形式原樣存放放。q文件類型結(jié)構(gòu)體文件類型結(jié)構(gòu)體FILE 緩沖文件系統(tǒng)為每個正使用的文件在內(nèi)存開辟文件信緩沖
2、文件系統(tǒng)為每個正使用的文件在內(nèi)存開辟文件信息區(qū)。息區(qū)。文件信息用系統(tǒng)定義的名為文件信息用系統(tǒng)定義的名為FILEFILE的結(jié)構(gòu)體描述的結(jié)構(gòu)體描述。FILEFILE定義在定義在stdio.hstdio.h中中。typedef struct /* Turbo C 文件類型聲明 */ short level; /* 緩沖區(qū)滿/空程度 */ unsigned flags; /* 文件狀態(tài)標(biāo)志 */ char fd; /* 文件描述符 */ unsigned char hold; /* 若無緩沖區(qū)不讀取字符 */ short bsize; /* 緩沖區(qū)大小 */ unsigned char *buffer
3、; /* 數(shù)據(jù)傳送緩沖區(qū)位置 */ unsigned char *curp; /* 當(dāng)前讀寫位置 */ unsigned istemp; /* 臨時文件指示 */ short token; /* 用作無效檢測 */ FILE ; /* 結(jié)構(gòu)體類型名 FILE */文件指針定義形式文件指針定義形式nFILE *文件結(jié)構(gòu)指針名;File * fp;n用法:用法:文件打開文件打開時,系統(tǒng)時,系統(tǒng)自動自動建立文件結(jié)構(gòu)體,并把指向建立文件結(jié)構(gòu)體,并把指向它的指針返回來,程序通過這個指針獲得它的指針返回來,程序通過這個指針獲得文件信息文件信息, ,訪問文件。訪問文件。文件關(guān)閉文件關(guān)閉后,它的文件結(jié)構(gòu)體被釋
4、放。后,它的文件結(jié)構(gòu)體被釋放。系統(tǒng)自動打開和關(guān)閉的五個標(biāo)準(zhǔn)設(shè)備文件標(biāo)準(zhǔn)設(shè)備文件:q打開文件fopen函數(shù)首部: FILE *fopen(char *filename,char *mode)功能:按指定方式打開文件。返值:正常打開,為指向文件結(jié)構(gòu)體的指針;打開失敗,為NULL。要打開的文件名使用文件方式例:文件打開與測試。 FILE *fp; if( fp=fopen(“filename”,“rb+”)=NULL) printf(“cannot open this filen”); exit(0); 例 FILE *fp; fp= fopen (“c:test”,”rb+”); “r+/rb+”
5、 (讀寫)“a/ab” (追加)“w/wb” (只寫)“r/rb” (只讀)“w+/wb+” (讀寫)“a+/ab+” (讀寫)為輸入打開一個文本/二進(jìn)制文件為輸出打開或建立一個文本/二進(jìn)制文件為讀/寫打開一個文本/二進(jìn)制文件為讀/寫建立一個文本/二進(jìn)制文件為讀/寫打開或建立一個文本/二進(jìn)制文件向文本/二進(jìn)制文件尾追加數(shù)據(jù)文件使用方式含義磁盤文件輸出文件緩沖區(qū)輸入文件緩沖區(qū)程序數(shù)據(jù)區(qū)a緩沖文件系統(tǒng):fclose不關(guān)閉文件可能會丟失數(shù)據(jù) 函數(shù)原型:函數(shù)原型:int fputc(int ch, FILE *fp) 功能:把一字符功能:把一字符ch寫入寫入fp指向的文件中指向的文件中。 返值:正常,
6、返回返值:正常,返回ch;出錯,為;出錯,為EOF。函數(shù)原型:函數(shù)原型:int fgetc(FILE *fp)功能:功能:從從fp指向的文件中讀取指向的文件中讀取一個字符。一個字符。返值:返值:正常,返回讀取的字符;讀到文件尾或出錯時,正常,返回讀取的字符;讀到文件尾或出錯時,為為EOF。n讀寫方式:讀寫方式:順序讀寫:順序讀寫:位置指針按字節(jié)位置順序移動。位置指針按字節(jié)位置順序移動。隨機(jī)讀寫:隨機(jī)讀寫:位置指針按需要移動到任意位置。位置指針按需要移動到任意位置。nrewind函數(shù)n函數(shù): void rewind(FILE *fp);n功能:使fp所指文件的位置指針重置到文件開頭。n返值:無n
7、函數(shù)原型:函數(shù)原型: ftell(fpt);n功能:功能:取得文件內(nèi)部記錄指針當(dāng)前的位取得文件內(nèi)部記錄指針當(dāng)前的位 置,用相對置,用相對于文件頭的位移量返回于文件頭的位移量返回。n返值:返值:函數(shù)正常執(zhí)行時返回文件內(nèi)部記錄指針的當(dāng)前函數(shù)正常執(zhí)行時返回文件內(nèi)部記錄指針的當(dāng)前操作位置,出錯時返回值為操作位置,出錯時返回值為-1L。n函數(shù)原型:函數(shù)原型: int fseek(FILE *fp,long offset,int origin);n功能:功能:改變文件位置指針的位置改變文件位置指針的位置。n返值:返值:成功,返回成功,返回0;失敗,返回非;失敗,返回非0值值。qferror函數(shù)函數(shù)函數(shù)首部:函數(shù)首部: int ferror(FILE *fp);功能:功能:檢測檢測fp所指所指文件的錯誤文件的錯誤。返值:返值:未出錯,返未出錯,返0;出錯,返非;出錯,返非0。說明說明:n(1)每次調(diào)用文件輸入輸出函數(shù),均產(chǎn)生一個新的每次調(diào)用文件輸入輸出函數(shù),均產(chǎn)生一個新的ferror函數(shù)值,所以應(yīng)及時測試函數(shù)值,所以應(yīng)及時測試。n(2)fopen打開文件時,打開文件時,ferror函數(shù)初值自動置為函數(shù)初值自動置為0。qclearerr函數(shù)函數(shù)函數(shù)原型:函數(shù)原型: void clearerr(FILE *fp);功能:功能:使使fp所指所指文件錯誤標(biāo)志和文件結(jié)束標(biāo)志置為文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出售園林鋪面合同范本
- 保潔物料供貨合同范本
- 企業(yè)策劃宣傳合同范本
- 農(nóng)機(jī)割臺租售合同范本
- 出口螺桿驗貨合同范本
- 公司分期手機(jī)合同范本
- 企業(yè)職員培養(yǎng)合同范本
- 企業(yè)終止租賃合同范本
- 化糞池安裝合同范本
- 2024年深圳市南山區(qū)蓓蕾幼教集團(tuán)招聘考試真題
- 環(huán)境空氣氣態(tài)污染物(SO2、NO2、O3、CO)連續(xù)自動監(jiān)測系統(tǒng)安裝驗收技術(shù)規(guī)范(HJ 193-2013部分代替 HJ-T 193-2005)
- 《生活垃圾轉(zhuǎn)運(yùn)站技術(shù)規(guī)范+CJJT+47-2016》詳細(xì)解讀
- 總體國家安全觀-創(chuàng)新引領(lǐng)10周年全文課件
- 鳥類知識科普課件
- 中國通用電氣有限公司員工手冊
- 自建房培訓(xùn)課件甘肅
- 閩教版四年級下冊勞動教案
- 汽車電氣設(shè)備構(gòu)造與維修(高職版)全套教學(xué)課件
- 中小學(xué)必背飛花令詩詞-(春、月、風(fēng)、花、山、江、人、日、動物、顏色、數(shù)字)
- 緩刑解除矯正個人總結(jié)
- 北師大版小學(xué)數(shù)學(xué)六年級下冊全冊一課一練課課練(含答案)
評論
0/150
提交評論