版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第十二章 文 件,文件概念 文件:是保存在外存儲器上的一組數(shù)據(jù)的有序集合。 文件的特點是: (1)數(shù)據(jù)長久保存 (2)數(shù)據(jù)長度不定 (3)數(shù)據(jù)按順序存取 語言中的文件完全是字節(jié)代碼的序列(字節(jié)流) 可以看作為磁帶,第十二章 文 件,文件有兩種數(shù)據(jù)形式: ASCII碼(文本文件 text stream) a.c 程序文件 文本文件是字符流 二進制碼(二進制文件 binary stream) a.exe 執(zhí)行文件 二進制文件是直接把內(nèi)存數(shù)據(jù)以二進制形式保存。 對于一個整型數(shù)1234: 以文本文件保存,它是四個字符: ASCII碼分別是:49 50 51 52 ; 以二進制文件保存,它是1234的二
2、進制數(shù)0 x04D2,由于磁盤速度相對很低,直接把數(shù)據(jù)寫到 磁盤會效率很低,文 件,緩沖文件系統(tǒng): 向磁盤輸出數(shù)據(jù):數(shù)據(jù) 緩沖區(qū), 裝滿緩沖區(qū)后 磁盤文件。 從磁盤讀入數(shù)據(jù):先一次性從磁盤文件將一批數(shù)據(jù)輸入到緩沖區(qū),然后再從緩沖區(qū)逐個讀入數(shù)據(jù)到變量。 內(nèi)存單元 內(nèi)存單元,數(shù)據(jù),緩沖器,512字節(jié),文件,由操作系統(tǒng)自動完成,程序控制,文件名,用什么標(biāo)識,文 件,文件類型指針 使用一個文件指針,來指示文件緩沖區(qū)中具體讀寫的位置。 文件指針變量 文件指針定義: FILE *fp ; 文件類型,數(shù)據(jù),緩沖器,512字節(jié),文件,由操作系統(tǒng)自動完成,程序控制,文件名,fp,文 件,文件類型指針 文件指針定
3、義: FILE *fp ; 文件類型 文件指針變量 語言中允許同時使用多個文件,每個文件都有各自的緩沖區(qū),用不同的文件指針分別指示。,問題:如何使fp與具體文件掛鉤?,文件的打開,文件打開 使文件指針與相應(yīng)文件實體對應(yīng)起來 格式: fpfopen(“文件名”,“文件使用方式”) 如:fp = fopen(a.dat, r) 作用: 1 在磁盤中找到文件a.dat 2 在內(nèi)存中開辟512個字節(jié)的緩沖區(qū),并由fp指示文件緩沖區(qū)起始位置 3 把首塊512字節(jié)數(shù)據(jù):磁盤 緩沖器,以后程序只對文件指針進行操作,即用fp代表磁盤文件。,文件使用方式(ASCII碼文件): “r” 僅從已建立的文件讀取數(shù)據(jù)
4、“w” 僅把數(shù)據(jù)寫到一個新建文件中 “a” 僅把數(shù)據(jù)寫到已建立的文件的 尾部,文件基本讀寫,我們可以這樣看: 文件 看作 一個數(shù)組(緩沖器), 文件指針 看作 是指向數(shù)組元素的指針, 文件操作:對文件指針?biāo)傅木彌_器單元進行存取. 限制:文件的讀寫一般是順序進行的,位置完全由文件指針控制,并且文件指針的改變也由系統(tǒng)控制。,文件基本讀寫,語言文件讀寫函數(shù) 磁盤文件操作 鍵盤操作 chfgetc( fp ) ch=getchar( ) fputc(ch , fp) putchar( ch) fscanf( fp , “格式”, 輸入表) scanf( ) fprintf( fp , “格式”, 輸
5、出表) printf( ) 它們的說明在stdio.h中,文件基本讀寫,例:將一個已存在的文件a.dat的內(nèi)容拷貝到b.dat文件中。 FILE *fpa, *fpb; (1) 定義文件指針 char c; int i;: fpa=fopen(a.dat,r); fpb=fopen(b.dat,w); (2) 打開文件并建立相應(yīng)指針 c=fgetc(fpa); fputc(c,fpb); (3) 文件讀寫 c=fgetc(fpa); fputc(c,fpb); fscanf(fpa, %d , (4) 關(guān)閉打開的所有文件,每一次讀/寫,文件指針自動+,a b 3 5,文件基本讀寫,文件程序 F
6、ILE *fpa, *fpb; (1) 定義文件指針 fpa=fopen(a.dat, r); (2) 打開文件并建立相應(yīng)指針 c=fgetc(fpa); fputc(c,fpb); (3) 文件讀寫 fscanf(fpa, %d , (4) 關(guān)閉打開的所有文件 ,#include stdio.h main( ) FILE *fpa, *fpb; if (fpa=fopen(d:tca.dat, r)= =NULL) printf(cannot open file a.dat!); exit(0); if (fpb=fopen(d:tcb.dat, w)= =NULL) printf(cann
7、ot open file b.dat!); exit(0); while ( ! feof(fpa) fputc(fgetc(fpa),fpb); if (fclose(fpa) printf(cannot close file a.dat!); exit(0); if (fclose(fpb) printf(cannot close file b.dat!); exit(0); ,當(dāng)fpa指向文件末尾時, feof(fpa) = =非零,fclose(fp) 0 正常 / 1 有錯,fp = =NULL, 表明文件不能正常打開,c=fgetc(fpa); while ( c!=EOF) fp
8、utc(c, fpb); c=fgetc(fpa); ,文件基本讀寫,例:統(tǒng)計文件的行數(shù) main( ) FILE *fp ; int n=0; chat c; if (fp=fopen(d:tca.dat, r)= =NULL) printf(cannot open file a.dat!); exit(0); while ( ! feof(fp) c = fgetc(fpa); if (c = = n) n+ ; printf(“%dn”, n); if (fclose(fpa) printf(cannot close file a.dat!); exit(0); ,文件的打開和關(guān)閉 fopen(文件名,使用文件方式); fclose(文件指針);,文件的讀寫,ch=fgetc(fp); fputc(ch,fp); fread(buffer,size,count,fp ); fwrite(buffer,size,count,fp); fscanf(文件指針,格式字符串,輸入表列); fprintf(文件指針,格式字符串,輸入表列); fgets(str,n,fp); fputs(str,fp);,文件定位,rewind(fp)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 表C.1.4安全生產(chǎn)費用2022年使用臺賬(標(biāo)準(zhǔn)廠房)
- 001-表SA-C8-6 三級動火許可證
- 山東名??荚嚶?lián)盟2024年10月高三年級階段性檢測語文試題及答案解析
- 我國個人所得稅制度的完善研究
- 外文文獻翻譯-一種新的包裝布局和布線工具的FPGA研究
- 數(shù)學(xué)儀器相關(guān)項目建議書
- 方位儀相關(guān)項目建議書
- 含內(nèi)部通信系統(tǒng)的電話機相關(guān)項目實施方案
- 手機屏幕專用保護膜相關(guān)項目實施方案
- 搗碎工具手工具項目評價分析報告
- 《沁園春 長沙》教師學(xué)歷案
- 中控立磨操作考試試題
- 蘇教版三年級上冊數(shù)學(xué)第三單元練習(xí)題【含答案】
- 生產(chǎn)運作管理 第四版 陳榮秋 馬士華 課后答案
- 少兒美術(shù)課件-《帶著月亮去散步》
- 房地產(chǎn)項目現(xiàn)金流量及投資收益測算表
- 高考各地記敘文閱讀題及答案解析
- 《伯牙善鼓琴》說課稿完整版課件
- 土地復(fù)墾設(shè)計報告
- 小學(xué)一年級10以內(nèi)連加連減口算練習(xí)題1080道
- 幼兒繪本故事:長腿爸爸tigerlee
評論
0/150
提交評論