![c語(yǔ)言-文件經(jīng)典教學(xué)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa1.gif)
![c語(yǔ)言-文件經(jīng)典教學(xué)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa2.gif)
![c語(yǔ)言-文件經(jīng)典教學(xué)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa3.gif)
![c語(yǔ)言-文件經(jīng)典教學(xué)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa4.gif)
![c語(yǔ)言-文件經(jīng)典教學(xué)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa/1d53c767-5c5f-4f43-b9d3-7d4e0ef82bfa5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、8.1 文件及格式化輸入輸出文件及格式化輸入輸出使用對(duì)文件的操作函數(shù),均需要在程序首部聯(lián)入頭文件stdio.h8.1.1 文件的打開(kāi)與關(guān)閉文件的打開(kāi)與關(guān)閉對(duì)文件進(jìn)行操作之前,必須先打開(kāi)該文件;使用結(jié)束后,應(yīng)立即關(guān)閉,以免數(shù)據(jù)丟失。語(yǔ)言規(guī)定了標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù),用fopen()函數(shù)打開(kāi)一個(gè)文件,用fclose()函數(shù)關(guān)閉一個(gè)文件。8.1.2 文件的打開(kāi)文件的打開(kāi)fopen()函數(shù)函數(shù) 1用法: FILE *fopen(文件名文件名,操作方式操作方式); 2功能:返回一個(gè)指向指定文件的指針。1)“文件名”是指要打開(kāi)(或創(chuàng)建)的文件名。如果使用字符數(shù)組(或字符指針),則不使用雙引號(hào)?!拔募笨砂?/p>
2、相對(duì)或絕對(duì)路徑,如“c:workdata”或“.data”。不包含路徑則表示文件在與可執(zhí)行程序相同的目錄中2)最常用的“操作方式”見(jiàn)下頁(yè):例如,F(xiàn)ILE *fp; fpfopen(data.99,r);3)如果不能實(shí)現(xiàn)打開(kāi)指定文件的操作,則fopen()函數(shù)返回)。 操作方式由以下字母構(gòu)成,含義為 r(read): 只讀,文件必須存在,否則出錯(cuò) w(write): 只寫(xiě) a(append): 追加 t(text): 文本文件,可省略不寫(xiě) b(binary): 二進(jìn)制文件 +: 如打開(kāi)為讀,則加寫(xiě),如打開(kāi)為寫(xiě)則加讀,例如:“r”打開(kāi)一個(gè)文本文件,只讀“r+”打開(kāi)一個(gè)文本文件,允許讀寫(xiě)“rb”打開(kāi)
3、一個(gè)二進(jìn)制文件,只允許讀“rb+”打開(kāi)一個(gè)二進(jìn)制文件,允許讀寫(xiě)“w” 只寫(xiě),清除或創(chuàng)建新文件只寫(xiě),清除或創(chuàng)建新文件 “w+”讀寫(xiě),同上讀寫(xiě),同上“a” 只允許在文件尾部添加,如文件不存在則出錯(cuò)只允許在文件尾部添加,如文件不存在則出錯(cuò) 8.1.3 文件的關(guān)閉文件的關(guān)閉fcolse()函數(shù)函數(shù)1用法: int fclose(FILE *文件指針文件指針);2功能:關(guān)閉“文件指針”所指向的文件。如果正常關(guān)閉了文件,則函數(shù)返回值為;否則,返回值為非。例如,fclose(fp);/*關(guān)閉fp所指向的文件*/8.1.4 格式化輸入輸出8.1.4.1格式化輸入scanf(“格式符”,輸入變量首地址表); 格
4、式符中“%”表示為格式串,依次和輸入變量表中變量類(lèi)型對(duì)應(yīng)。 格式串最常用的有“%d”,“%c”,“%f”, “%s”,分別表示輸入格式為整數(shù),字符,浮點(diǎn)數(shù)和字符串。例:int a,b;float c;char d,e20;.Scanf(“%d,%d,%f,%c,%s”, &a, &b, &c, &d, &e);.8.1.4.2 格式化輸出printf(“格式符格式符”,輸出參數(shù)表,輸出參數(shù)表); 格式符中可包含格式符中可包含scanf中格式符中格式串,格式中格式符中格式串,格式串必須和后面參數(shù)表中參數(shù)串必須和后面參數(shù)表中參數(shù)1-1對(duì)應(yīng),也可包對(duì)應(yīng),也可包
5、含一般字符串。含一般字符串。例:例:printf(“%d,%s”,a,e); printf(“a=%d,b=%s”,a,e); prinf(“these are all output parameter!”);8.1.5 對(duì)文件進(jìn)行格式化讀寫(xiě)對(duì)文件進(jìn)行格式化讀寫(xiě)fscanf()和和fprintf()函數(shù)函數(shù) 與與scanf()和和printf()函數(shù)的功能相似,區(qū)別在于:函數(shù)的功能相似,區(qū)別在于:fscanf()和和fprintf()函數(shù)的操作對(duì)象是指定文件,而函數(shù)的操作對(duì)象是指定文件,而scanf()和和printf()函數(shù)的操作對(duì)象是標(biāo)準(zhǔn)輸入輸出文件。函數(shù)的操作對(duì)象是標(biāo)準(zhǔn)輸入輸出文件。in
6、t fscanf(文件指針,文件指針,格式符格式符,輸入變量首地址表,輸入變量首地址表);int fprintf(文件指針,文件指針,格式符格式符,輸出參量表,輸出參量表); 例如,例如,. int i=3; float f=9.80; . fprintf(fp,%d,%f, i, f); . fprintf()函數(shù)的作用是,將變量函數(shù)的作用是,將變量i按按%d格式、變量格式、變量f按按%f格式,格式, 以逗號(hào)作分隔符,輸出到以逗號(hào)作分隔符,輸出到fp所指向的文件中:所指向的文件中:3,9.80。1)用法:int feof(文件指針文件指針); 2)功能:在執(zhí)行讀文件操作時(shí),如果遇到文件尾,則
7、函數(shù)返回邏輯真(1);否則,則返回邏輯假(0)。8.1.6 feof()例:從文件students.txt中讀入學(xué)生基本信息,然后統(tǒng)計(jì)平均身高,添加到最后一行,students.txt文件內(nèi)容為:Wang 170Li 178Zhang 189程序運(yùn)行后文件最后增加下列行:Average 179#include void main()FILE *std;char name10;int height,sumheight=0,cnt=0;std=fopen(students.txt,r+a);while (!feof(std)fscanf(std,%s%d,name,&height);sum
8、height+=height;cnt+;fprintf(std,n%s %d,average,sumheight/cnt);fclose(std);二進(jìn)制文件讀寫(xiě) fwrite(*buff,size,count,fp); /參數(shù)分別為:寫(xiě)入數(shù)據(jù)的首地址,每個(gè)數(shù)據(jù)項(xiàng)字節(jié)數(shù),數(shù)據(jù)項(xiàng)個(gè)數(shù),fp文件指針 fread(*buff,size,count,fp);/參數(shù)含義同上 int fseek(FILE *stream, long offset, int fromwhere):移動(dòng)文件指針,以fromwhere為基準(zhǔn)向前或向后offset個(gè)字節(jié)。 fromwhere可以是:SEEK_SET(文件頭),SEEK_CUR(當(dāng)前位置)和SEEK_END(,文件尾2()例:以二進(jìn)制方式寫(xiě)入100到文件到文件test.txt,然后打開(kāi)這個(gè)文件觀察內(nèi)容:#include void main()FILE *fp;int a=100;fp=fopen(f:test.txt,wb);fwrite(&a,4,1,fp); /參數(shù)分別為:寫(xiě)入數(shù)據(jù)的首地址,每個(gè)數(shù)據(jù)項(xiàng)字節(jié)數(shù),數(shù)據(jù)項(xiàng)個(gè)數(shù),fclose(fp);以二進(jìn)制方式打開(kāi)test.txt,讀取4個(gè)字節(jié)到整數(shù)變量中,輸出該整數(shù)變
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)浪潮ERP/MYGS行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025至2030年線材退火罩式爐項(xiàng)目投資價(jià)值分析報(bào)告
- 航空航天技術(shù)服務(wù)合同范文
- 2025年度食品飲料包裝開(kāi)發(fā)票市場(chǎng)拓展合同
- 餐飲店裝修清包工合同范本
- 文化創(chuàng)意股權(quán)居間合同
- 2025年商品房購(gòu)買(mǎi)合同
- 寫(xiě)字樓翻新意向金合同模板
- 企業(yè)并購(gòu)轉(zhuǎn)讓居間合同范本
- 2025年早教服務(wù)合同解除協(xié)議
- 高三開(kāi)學(xué)收心班會(huì)課件
- 蒸汽換算計(jì)算表
- 人教版高中數(shù)學(xué)必修1全冊(cè)導(dǎo)學(xué)案
- 四年級(jí)計(jì)算題大全(列豎式計(jì)算,可打印)
- 科技計(jì)劃項(xiàng)目申報(bào)培訓(xùn)
- 591食堂不合格食品處置制度
- 國(guó)際金融課件(完整版)
- 導(dǎo)向標(biāo)識(shí)系統(tǒng)設(shè)計(jì)(一)課件
- 220t鍋爐課程設(shè)計(jì) 李學(xué)玉
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
評(píng)論
0/150
提交評(píng)論