第09章C語(yǔ)言的文件處理及其應(yīng)用_第1頁(yè)
第09章C語(yǔ)言的文件處理及其應(yīng)用_第2頁(yè)
第09章C語(yǔ)言的文件處理及其應(yīng)用_第3頁(yè)
第09章C語(yǔ)言的文件處理及其應(yīng)用_第4頁(yè)
第09章C語(yǔ)言的文件處理及其應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 213 2102928 24(一萬(wàn))(一萬(wàn))10000除2取余得等值二進(jìn)制值:“0”的的ASCII碼值碼值是是48,NULL碼碼值才是全零。值才是全零。正常輸出的正常輸出的數(shù)據(jù)數(shù)據(jù)會(huì)輸會(huì)輸出到標(biāo)準(zhǔn)輸出文件出到標(biāo)準(zhǔn)輸出文件 將錯(cuò)誤信息送到將錯(cuò)誤信息送到標(biāo)準(zhǔn)錯(cuò)誤文件中標(biāo)準(zhǔn)錯(cuò)誤文件中 n n Visual C+編譯器中對(duì)編譯器中對(duì)如下如下:在在“stdio.h”中有如下定義中有如下定義 struct _iobuf char *_ptr; /文件輸入的下一個(gè)位置文件輸入的下一個(gè)位置 int _cnt; /當(dāng)前緩沖區(qū)的相對(duì)位置當(dāng)前緩沖區(qū)的相對(duì)位置 char *_base; /指基礎(chǔ)位置指基礎(chǔ)位置(即是

2、文件的起始位置即是文件的起始位置) int _flag; /文件標(biāo)志文件標(biāo)志 int _file; /文件的有效性驗(yàn)證文件的有效性驗(yàn)證 int _charbuf; /檢查緩沖區(qū)狀況檢查緩沖區(qū)狀況,如果無(wú)緩沖區(qū)則不讀取如果無(wú)緩沖區(qū)則不讀取 int _bufsiz; /文件的大小文件的大小 char *_tmpfname; /臨時(shí)文件名臨時(shí)文件名 ; typedef struct _iobuf FILE; 對(duì)文件的描述信息對(duì)文件的描述信息及控制信息等都放及控制信息等都放于該結(jié)構(gòu)體中于該結(jié)構(gòu)體中 P299表表9.1 fclosefclose函數(shù)函數(shù)了文件,了文件,。printf(請(qǐng)輸入欲創(chuàng)建文件所在

3、的目錄名請(qǐng)輸入欲創(chuàng)建文件所在的目錄名: );gets(PathName); e:book (該目錄必須存在即先建立好)(該目錄必須存在即先建立好)printf(請(qǐng)輸入欲創(chuàng)建文件文件名請(qǐng)輸入欲創(chuàng)建文件文件名: );gets(FileName); mydata.txtstrcpy(FullName,PathName);strcat(FullName,);strcat(FullName,FileName);if(fp=fopen(FullName,w)=NULL) printf(Cant create file %s! n,FullName); return;else printf(創(chuàng)建文件創(chuàng)建文件

4、 %s 成功成功.n,FullName); fclose(fp);e:book 程序中需要判斷文件是否處理完成,即文件內(nèi)部記錄程序中需要判斷文件是否處理完成,即文件內(nèi)部記錄指針是否已移動(dòng)到了文件尾標(biāo)志處。指針是否已移動(dòng)到了文件尾標(biāo)志處。nEOFEOF(僅用于文本文件(僅用于文本文件) )例例9-29-2 讀入例讀入例9.19.1的源程序文件,并在屏幕上顯示其內(nèi)容。的源程序文件,并在屏幕上顯示其內(nèi)容。 FILE *fp;char ch;if(fp=fopen(Ex09-01.cpp,r)=NULL)printf(Cannot open file strike any key exit!);get

5、char();return(1);ch=fgetc(fp);while (ch!=EOF)putchar(ch);ch=fgetc(fp);fclose(fp);通過(guò)使用通過(guò)使用fgetcfgetc函數(shù)的調(diào)用,函數(shù)的調(diào)用,依次從依次從fpfp所關(guān)聯(lián)的文件所關(guān)聯(lián)的文件“Ex09-01.cppEx09-01.cpp”中讀出其中讀出其所有字符并顯示在屏幕上所有字符并顯示在屏幕上例例9-39-3 將從鍵盤(pán)上輸入的若干字符數(shù)據(jù)寫(xiě)入文本文件將從鍵盤(pán)上輸入的若干字符數(shù)據(jù)寫(xiě)入文本文件mydata.txtmydata.txt,然后再將文件,然后再將文件mydata.txtmydata.txt中的字符全部讀中的字

6、符全部讀出并在系統(tǒng)標(biāo)準(zhǔn)輸出設(shè)備顯示器上輸出。出并在系統(tǒng)標(biāo)準(zhǔn)輸出設(shè)備顯示器上輸出。if(fp=fopen(mydata.txt,w)=NULL) printf(Cant create file mydata.txt!n); return;printf(請(qǐng)輸入寫(xiě)入文件的字符數(shù)據(jù)請(qǐng)輸入寫(xiě)入文件的字符數(shù)據(jù): n);do ch=getchar(); fputc(ch,fp);while(ch!=EOF);fclose(fp);if(fp=fopen(mydata.txt,r)=NULL) printf(Cant open file mydata.txt!n); return;ch=fgetc(fp);w

7、hile(ch!=EOF) putchar(ch); ch=fgetc(fp);printf(n);fclose(fp);if(argc!=3)printf(Using: command Sourcefilename Targetfilenamen);return;if(in=fopen(argv1,rb)=NULL)printf(不能打開(kāi)源文件!不能打開(kāi)源文件!n);return;if(out=fopen(argv2,wb)=NULL)printf(不能打開(kāi)或創(chuàng)建目標(biāo)文件!不能打開(kāi)或創(chuàng)建目標(biāo)文件!n);return;c=fgetc(in);while(!feof(in)fputc(c,out

8、);c=fgetc(in);fclose(in);fclose(out);FILE *fp;int count=0;/*記錄單詞的個(gè)數(shù)記錄單詞的個(gè)數(shù)*/int space=1;/*空格標(biāo)志空格標(biāo)志*/char c;if(argc!=2)printf(Using: command filenamen);return;if(fp=fopen(argv1,r)=NULL)printf(不能打開(kāi)文件不能打開(kāi)文件%sn,argv1);return;while(c=fgetc(fp)!=EOF)switch(c)case :case t:case n:space=1;break;default: if(s

9、pace) space=0; count+;fclose(fp);printf(文件文件%s中含有中含有%d個(gè)單詞。個(gè)單詞。n,argv1,count);I dont like C language.FILE *fp;char str100;if(fp=fopen(Ex09-01.cpp,r)=NULL) printf(Cannot open file.n); return;while(fgets(str,100,fp)!=NULL) printf(%s,str);fclose(fp); 存放讀出的存放讀出的每一行內(nèi)容每一行內(nèi)容( (nn) )。P311例例9-109-10 將某磁盤(pán)文件的所有行加上行號(hào)寫(xiě)入指定將某磁盤(pán)文

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論