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

下載本文檔

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

文檔簡介

程序設(shè)計(jì)技術(shù)C語言數(shù)據(jù)描述和C程序設(shè)計(jì)初步

結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)和C語言的控制結(jié)構(gòu)

數(shù)組及其應(yīng)用

函數(shù)與C程序結(jié)構(gòu)

指針與函數(shù)

指針與數(shù)組

字符串及其應(yīng)用結(jié)構(gòu)體類型和聯(lián)合體類型C語言的文件處理及其應(yīng)用位運(yùn)算與枚舉類型第9章C語言文件處理及其應(yīng)用

文件概念與文件類型指針

C語言中的文件處理基礎(chǔ)文件的讀寫操作和順序文件處理文件的定位操作和隨機(jī)文件處理9.1文件概念與文件類型指針程序設(shè)計(jì)中所涉及的數(shù)據(jù):內(nèi)存數(shù)據(jù)

變量、數(shù)組、構(gòu)造數(shù)據(jù)類型數(shù)據(jù)對象等。其主要優(yōu)點(diǎn)是處理速度快;主要缺陷是信息容量差、再現(xiàn)性能差、保存功能低以及共享能力弱等。外存數(shù)據(jù)

字符、記錄、文件、數(shù)據(jù)庫等。特點(diǎn)是:信息容量大、再現(xiàn)能力強(qiáng)、能夠長期保存以及共享能力強(qiáng)等,從而大大提高了計(jì)算機(jī)數(shù)據(jù)處理能力。9.1.1文件的概念文件的概念 文件是程序設(shè)計(jì)中一種重要的數(shù)據(jù)類型。所謂“文件”就是一個有名字的、存儲在某種介質(zhì)上的、相關(guān)信息的集合。如一批二進(jìn)制數(shù)、一組數(shù)據(jù)、一個程序,圖形、圖象、聲音、計(jì)算機(jī)外部設(shè)備等。使用文件的目的

將數(shù)據(jù)永久地保存在計(jì)算機(jī)外部存儲介質(zhì)上,使之成為可以共享的信息。通過文件還可以與其他信息處理系統(tǒng)聯(lián)系;可以進(jìn)行大量的原始數(shù)據(jù)的輸入和保存,以適應(yīng)計(jì)算機(jī)系統(tǒng)在各方面的應(yīng)用;

文件的分類:

按文件的結(jié)構(gòu)形式分類二進(jìn)制文件二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲形式原樣存放到計(jì)算機(jī)外部存儲設(shè)備。文本文件文本文件是全部由字符組成的具有行列結(jié)構(gòu)的文件,即文件的每個元素都是字符或換行符,文本文件又稱為ASCII碼文件。9.1.1文件的概念213210292824(一萬)10000除2取余得等值二進(jìn)制值:“0”的ASCII碼值是48,NULL碼值才是全零。文件的分類:

按文件的讀寫方式分類順序文件

C語言中將文件看成是一個字符流,并不考慮其存儲時的界限,對文件的讀寫是以字符或字節(jié)為單位程序的控制而不是受回車換行符的控制。這種文件一般稱之為“流式文件”。隨機(jī)文件具有隨機(jī)讀寫功能的文件稱為隨機(jī)文件。在隨機(jī)文件中,對文件任一元素的讀寫不必象順序文件那樣從頭開始,而是可以直接對文件的某一元素進(jìn)行訪問。9.1.1文件的概念按文件存儲的外部設(shè)備分類磁盤文件在程序的運(yùn)行過程中,通常需要將一些數(shù)據(jù)信息輸出到磁盤上保存起來,需要的時候再從磁盤中將其輸入到內(nèi)存進(jìn)行處理,這種保存在磁盤上的文件稱為磁盤文件。設(shè)備文件在C程序的設(shè)計(jì)中,將所有的計(jì)算機(jī)系統(tǒng)外部設(shè)備都作為文件對待,這樣的文件稱為設(shè)備文件。有三個稱為標(biāo)準(zhǔn)系統(tǒng)設(shè)備的特殊設(shè)備文件,它們由系統(tǒng)分配和控制,這三個設(shè)備文件是: 標(biāo)準(zhǔn)輸入文件stdin:由系統(tǒng)指定為鍵盤 標(biāo)準(zhǔn)輸出文件stdout: 由系統(tǒng)指定為顯示器 標(biāo)準(zhǔn)錯誤輸出文件stderr:由系統(tǒng)指定為顯示器(三個標(biāo)準(zhǔn)系統(tǒng)設(shè)備文件進(jìn)入系統(tǒng)時自動打開,退出系統(tǒng)時自動關(guān)閉)正常輸出的數(shù)據(jù)會輸出到標(biāo)準(zhǔn)輸出文件將錯誤信息送到標(biāo)準(zhǔn)錯誤文件中

9.1.1文件的概念

按系統(tǒng)對文件的處理方法分類

緩沖文件系統(tǒng)系統(tǒng)自動在內(nèi)存中為每個正在使用的文件開辟一個緩沖區(qū)。從內(nèi)存輸出數(shù)據(jù)到磁盤文件:內(nèi)存→系統(tǒng)緩沖區(qū)→磁盤從磁盤文件輸入數(shù)據(jù)到內(nèi)存:磁盤→系統(tǒng)緩沖區(qū)→內(nèi)存

非緩沖文件系統(tǒng)系統(tǒng)不自動為程序開辟確定大小的文件緩沖區(qū),由程序?yàn)槊總€正在使用的文件設(shè)置并管理緩沖區(qū)。9.1.2文件類型指針文件類型文件類型是由系統(tǒng)建立的一個結(jié)構(gòu)體類型,其類型名為FILE,在頭文件<stdio.h>中已經(jīng)定義。使用緩沖文件系統(tǒng),當(dāng)要求打開/建立一個文件時系統(tǒng)自動在系統(tǒng)內(nèi)部定義一個FILE數(shù)據(jù)類型的結(jié)構(gòu)體變量,將該文件的各種描述信息和控制信息存放在該結(jié)構(gòu)體變量中。如文件名字、文件的狀態(tài)、文件讀寫指針的當(dāng)前位置等。在C語言中,通過指向這個FILE類型結(jié)構(gòu)體變量的指針來操作文件。9.1.2文件類型指針VisualC++編譯器中對FILE結(jié)構(gòu)體類型定義如下:在“stdio.h”中有如下定義

struct_iobuf{char*_ptr;//文件輸入的下一個位置

int_cnt;//當(dāng)前緩沖區(qū)的相對位置

char*_base;//指基礎(chǔ)位置(即是文件的起始位置)

int_flag;//文件標(biāo)志

int_file;//文件的有效性驗(yàn)證

int_charbuf;//檢查緩沖區(qū)狀況,如果無緩沖區(qū)則不讀取

int_bufsiz;//文件的大小

char*_tmpfname;//臨時文件名

};typedefstruct_iobufFILE;

對文件的描述信息及控制信息等都放于該結(jié)構(gòu)體中9.1.2文件類型指針C程序中對文件的控制程序中若要處理文件,需先定義一個文件類型指針變量,如果需要同時處理若干個文件,則需要定義若干個文件類型指針。定義文件類型指針變量一般形式如下:

FILE*fp1,*fp2,…,*fpn;

通過使用文件類型指針變量調(diào)用系統(tǒng)提供的文件處理標(biāo)準(zhǔn)庫函數(shù)對文件進(jìn)行打開、關(guān)閉、讀寫等各種操作。第9章C語言文件處理及其應(yīng)用

文件概念與文件類型指針

C語言中的文件處理基礎(chǔ)文件的讀寫操作和順序文件處理文件的定位操作和隨機(jī)文件處理9.2.1文件的打開與關(guān)閉文件進(jìn)行操作的一般步驟打開/建立要操作的文件;對文件進(jìn)行處理(讀寫等操作);關(guān)閉被操作的文件;文件的打開

用標(biāo)準(zhǔn)函數(shù)fopen實(shí)現(xiàn)打開/建立文件的操作

fopen函數(shù)的使用形式為:

FILE*fpt; /*指向文件類型的指針變量fpt*/ fpt=fopen(file_name,file_mode);file_name

將要訪問的文件名字,可以使用值為字符串類型的變量或用雙引號括起來的字符串常量;

file_mode

指定文件模式,即文件操作方式。file_mode功能“r”以只讀方式打開一個已有的文本文件“w”以只寫方式建立一個文本文件“a”以添加方式打開一個文本文件“rb”以只讀方式打開一個已有的二進(jìn)制文件“wb”以只寫方式建立一個二進(jìn)制文件“ab”以添加方式打開/建立一個二進(jìn)制文件注意:如果要打開/建立讀寫模式的文件,在上述對應(yīng)模式上添“+”加號表示,例如,“r+”表示打開以讀方式為主的讀寫文本文件。9.2.1文件的打開與關(guān)閉P299表9.1文件的打開

fopen函數(shù)正常地打開或建立了指定文件時,將返回系統(tǒng)中建立的文件類型結(jié)構(gòu)體變量的地址;若fopen函數(shù)沒有正常地完成打開或建立文件的任務(wù),則會帶回一個出錯信息并返回一個空指針值NULL。if((fpt=fopen(file_name,file_mode))==NULL) {printf(“Can’topenthisfile!\n”); exit(0); }9.2.1文件的打開與關(guān)閉9.2.1文件的打開與關(guān)閉文件的關(guān)閉

使用完文件后應(yīng)及時地對文件進(jìn)行關(guān)閉,及時關(guān)閉文件的理由至少有以下兩點(diǎn):使用緩沖文件系統(tǒng)時,如果數(shù)據(jù)緩沖區(qū)未滿而又不關(guān)閉文件就退出程序的運(yùn)行,則會造成數(shù)據(jù)緩沖區(qū)內(nèi)的數(shù)據(jù)丟失。一個系統(tǒng)內(nèi)能夠同時打開的文件有一定的數(shù)量限制。如果不及時地關(guān)閉已經(jīng)不使用的文件,就可能造成打開其他文件時出錯。用標(biāo)準(zhǔn)函數(shù)fclose關(guān)閉文件

函數(shù)原型:intfclose(FILE*stream);

調(diào)用形式:fclose(文件指針);

函數(shù)功能:將與指定文件指針相關(guān)聯(lián)的文件關(guān)閉。

fclose函數(shù)正常關(guān)閉了文件,返回0,否則返回EOF(-1)。9.2.1文件的打開和關(guān)閉例9-1

從鍵盤上輸入所要創(chuàng)建文件的路徑(即存放目錄)和文件名字,創(chuàng)建一個用于寫操作的文本文件。(P300)printf("請輸入欲創(chuàng)建文件所在的目錄名:");gets(PathName);e:\book(該目錄必須存在即先建立好)printf("請輸入欲創(chuàng)建文件文件名:");gets(FileName);mydata.txtstrcpy(FullName,PathName);strcat(FullName,"\\");strcat(FullName,FileName);if((fp=fopen(FullName,"w"))==NULL) { printf("Can'tcreatefile%s!\n",FullName);return;}elseprintf("創(chuàng)建文件%s成功......\n",FullName);fclose(fp);生成文件名e:\book9.2.2文件內(nèi)部讀寫位置指針文件指針(程序中必定義)文件指針(FILE類型)是用于關(guān)聯(lián)程序中被操作文件,在程序中必須進(jìn)行定義,當(dāng)打開一個文件并用文件指針變量關(guān)聯(lián)后,只要不重新賦值文件指針的值是不變的;

文件內(nèi)部記錄指針(程序不必定義)打開(或創(chuàng)建)一個文件時,系統(tǒng)自動為打開的文件建立一個文件內(nèi)部讀寫位置指針(即文件內(nèi)部記錄指針),該指針在文件讀寫中,用于指示文件的當(dāng)前讀寫位置,每讀寫一次,文件位置指針自動指向下一個讀寫位置。文件尾的檢測程序中需要判斷文件是否處理完成,即文件內(nèi)部記錄指針是否已移動到了文件尾標(biāo)志處。EOF(僅用于文本文件)

由于文本文件中任何字符的編碼(ascⅡ碼)均不是-1(0-255),可以用-1表示文本文件的文件尾標(biāo)志,系統(tǒng)中用符號常量EOF來表示。在輸入流中表示為ctrl+z。feof(pf)

測試文件狀態(tài)的函數(shù)feof(pf),當(dāng)文件未結(jié)束時feof函數(shù)的值為0,否則為非0值。使用函數(shù)feof來判斷文件是否結(jié)束既可用于文本文件,又可用于二進(jìn)制文件。9.2.3文件尾的檢測第9章C語言文件處理及其應(yīng)用

文件概念與文件類型指針

C語言中的文件處理基礎(chǔ)文件的讀寫操作和順序文件處理文件的定位操作和隨機(jī)文件處理字符輸入函數(shù)fgetc

函數(shù)原型:intfgetc(FILE*stream);

函數(shù)調(diào)用:ch=fgetc(fpt);

函數(shù)功能:從指針變量fpt相關(guān)聯(lián)的文件中讀取一個字符并將其賦給字符型變量ch;執(zhí)行函數(shù)時遇文件結(jié)束符或在執(zhí)行中出錯時返回值為EOF(-1)。字符輸出函數(shù)fputc

函數(shù)原型:intfputc(intc,FILE*stream);

函數(shù)調(diào)用:fputc(ch,fpt);

函數(shù)功能:將字符變量ch的值輸出到文件指針fpt相關(guān)聯(lián)的文件中。fputc函數(shù)執(zhí)行成功時,返回輸出的字符值,當(dāng)函數(shù)執(zhí)行發(fā)生錯誤則返回EOF(-1)。9.3.1文件中的單個字符讀寫操作使用字符讀寫函數(shù)的幾點(diǎn)說明fgetc函數(shù)所讀文件以讀(r)或讀寫(r+)方式打開,fputc函數(shù)寫入文件用寫(w)、讀寫(w+)、追加(a)方式打開。每讀寫一個字符,文件內(nèi)部記錄指針自動向后移動一個字節(jié)。字符輸入輸出函數(shù)均有一個返回值。如果讀、寫成功,返回讀取或?qū)懭氲淖址?,否則返回文件結(jié)束符EOF,以此判斷文件是否結(jié)束或讀寫操作是否成功。9.3.1文件中的單個字符讀寫操作9.3.1文件中的單個字符讀寫操作例9-2

讀入例9.1的源程序文件,并在屏幕上顯示其內(nèi)容。

FILE*fp;charch;if((fp=fopen("Ex09-01.cpp","r"))==NULL){ printf("Cannotopenfilestrikeanykeyexit!"); getchar(); return(1);}ch=fgetc(fp);while(ch!=EOF){ putchar(ch); ch=fgetc(fp);}fclose(fp);通過使用fgetc函數(shù)的調(diào)用,依次從fp所關(guān)聯(lián)的文件“Ex09-01.cpp”中讀出其所有字符并顯示在屏幕上9.3.1文件中的單個字符讀寫操作例9-3

將從鍵盤上輸入的若干字符數(shù)據(jù)寫入文本文件mydata.txt,然后再將文件mydata.txt中的字符全部讀出并在系統(tǒng)標(biāo)準(zhǔn)輸出設(shè)備顯示器上輸出。if((fp=fopen("mydata.txt","w"))==NULL){printf("Can'tcreatefilemydata.txt!\n");return;}printf("請輸入寫入文件的字符數(shù)據(jù):\n");do{ ch=getchar();fputc(ch,fp);}while(ch!=EOF);fclose(fp);if((fp=fopen("mydata.txt","r"))==NULL){printf("Can'topenfilemydata.txt!\n");return;}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}printf("\n");fclose(fp);9.3.1文件中的單個字符讀寫操作例9-4

P304利用單個字符讀寫標(biāo)準(zhǔn)函數(shù)實(shí)現(xiàn)文件拷貝功能,要求被拷貝的源文件和生成的目標(biāo)文件名字都從命令行輸入。if(argc!=3){ printf("Using:commandSourcefilenameTargetfilename<CR>\n"); return;}if((in=fopen(argv[1],"rb"))==NULL){ printf("不能打開源文件!\n"); return;}if((out=fopen(argv[2],"wb"))==NULL){ printf("不能打開或創(chuàng)建目標(biāo)文件!\n"); return;} c=fgetc(in); while(!feof(in)) { fputc(c,out); c=fgetc(in); } fclose(in); fclose(out);9.3.1文件中的單個字符讀寫操作例9-5

編程序?qū)崿F(xiàn)統(tǒng)計(jì)文本文件中單詞個數(shù)的功能,要求被統(tǒng)計(jì)文件名從命令行上帶入。FILE*fp;intcount=0; /*記錄單詞的個數(shù)*/intspace=1; /*空格標(biāo)志*/charc;if(argc!=2){ printf("Using:commandfilename<CR>\n"); return;}if((fp=fopen(argv[1],"r"))==NULL){ printf("不能打開文件%s\n",argv[1]); return;}while((c=fgetc(fp))!=EOF)switch(c){ case'': case'\t': case'\n': space=1; break; default:if(space) { space=0; count++; }}fclose(fp);printf("文件'%s'中含有%d個單詞。\n",argv[1],count);空白字符(空格鍵、制表鍵以及換行符)Idon'tlikeClanguage.字符串輸入函數(shù)fgets

原型:char*fgets(char*string,intn,FILE*stream);

調(diào)用:fgets(string,n,fpt);

功能:從文件指針fpt關(guān)聯(lián)的文件中讀取n-1個字符,然后在字符串末尾自動加上’\0’并將它們存放到string所代表的字符串對象中。

函數(shù)執(zhí)行的結(jié)束:讀入n-1個字符;讀入n-1個字符前遇到換行符’\n’;讀入n-1個字符前遇到文件結(jié)束符EOF;

函數(shù)的返回值:正常結(jié)束時返回string對象的首地址,若讀到文件尾或出錯則返回NULL。9.3.2文件中的字符串讀寫操作9.3.2文件中的字符串讀寫操作例9-7

按每次讀入一行的方式讀入例9.1的源程序文件,并在屏幕上顯示其內(nèi)容。FILE*fp;charstr[100];if((fp=fopen("Ex09-01.cpp","r"))==NULL){ printf("Cannotopenfile...\n");return;}while(fgets(str,100,fp)!=NULL)printf("%s",str);fclose(fp);存放讀出的每一行內(nèi)容字符串輸出函數(shù)fputs

原型:intfputs(constchar*string,FILE*stream);

調(diào)用:fputs(string,fpt);

功能:將string所代表的字符串寫入文件指針fpt相關(guān)聯(lián)的文件。函數(shù)fputs正常執(zhí)行時返回寫入文件中的字符個數(shù),函數(shù)執(zhí)行出錯時返回值為EOF(-1)。

特別提示:使用fputs標(biāo)準(zhǔn)函數(shù)向文件中寫入字符串時,每寫入一個字串后要自行在其后添加一個分隔字符(‘\n’)。9.3.2文件中的字符串讀寫操作9.3.2文件中的字符串讀寫操作例9-8

從鍵盤上讀入若干行字符串并將它們存放到指定文件中,僅輸入一個回車時結(jié)束輸入過程,要求指定文件名從命令行輸入。if(argc!=2){printf("Using:commandfilename<CR>\n");return;}if((fp=fopen(argv[1],"w"))==NULL){printf("Can'tcreatefile.!\n");return;}while(strlen(gets(str))>0){fputs(str,fp);fputc('\n',fp);}每一字符串后添加分隔符’\n’直接按回車,輸入空串,字符串長度為0。格式化輸入函數(shù)fscanf

調(diào)用:fscanf(fpt,格式控制,地址列表);

功能:以ASCII碼值的方式從fpt關(guān)聯(lián)的文件中讀取數(shù)據(jù),按格式控制字符串中指定的數(shù)據(jù)格式轉(zhuǎn)換后送到由輸入地址列表中相應(yīng)項(xiàng)指定的內(nèi)存單元。函數(shù)返回值為正確處理的數(shù)據(jù)項(xiàng)個數(shù)。

格式化輸出函數(shù)fprintf

調(diào)用:fprintf(fpt,格式控制,輸出表列);

功能:將輸出表達(dá)式列表的各項(xiàng)由對應(yīng)格式說明符的格式轉(zhuǎn)換為相應(yīng)的ASCII碼輸出到fpt指定的文件中。函數(shù)返回值為正確寫入文件中字節(jié)數(shù)。9.3.3文件中的格式化讀寫操作9.3.3文件中的格式化讀寫操作例9-9

以10度為間隔,求出0-360度之間的所有正弦函數(shù)值和余弦函數(shù)值并寫入指定文件,然后將該數(shù)據(jù)讀出并顯示。for(dec=0;dec<=360;dec+=10){ x=dec*3.14159/180;

fprintf(f,"%5d:%f,%f\n",dec,sin(x),cos(x));}for(i=0;i<=36;i++){

fscanf(f,"%d:%lf,%lf",&dec,&sinx,&cosx);printf("%5d:%f,%f\n",dec,sinx,cosx);}P3119.3.3文件中的格式化讀寫操作例9-10

將某磁盤文件的所有行加上行號寫入指定文件,兩個文件的名字均從命令行輸入。if((fp1=fopen(argv[1],"r"))==NULL){printf("Can'topenfile.\n");return;}if((fp2=fopen(argv[2],"w"))==NULL){printf("Can'tcreatefile.\n");return;}line=1;while(fgets(buffer,SIZE,fp1)!=NULL)fprintf(fp2,"%4d:%s",line++,buffer);數(shù)據(jù)塊輸出函數(shù)fwrite

函數(shù)調(diào)用:fwrite(buffer,size,count,fpt);burrer輸出數(shù)據(jù)在內(nèi)存中的首地址;size要輸出的一個數(shù)據(jù)項(xiàng)的字節(jié)數(shù);count一次操作輸出長度size字節(jié)的數(shù)據(jù)項(xiàng)個數(shù)fpt指向被操作的文件指針。

功能:從buffer為首地址的內(nèi)存中取出指定長度數(shù)據(jù)塊(總共count*size字節(jié))寫入到fpt相關(guān)聯(lián)的文件中。函數(shù)正常操作時返回值為輸出數(shù)據(jù)項(xiàng)數(shù),出錯時返回值小于count數(shù)據(jù)項(xiàng)數(shù)。

9.3.4文件中的數(shù)據(jù)塊讀寫操作例9-11P314

將一個5×15的整型二維數(shù)組的數(shù)據(jù)存入指定文件中(數(shù)組數(shù)據(jù)隨機(jī)產(chǎn)生),要求文件名從命令行輸入。數(shù)據(jù)塊輸入函數(shù)fread

函數(shù)調(diào)用:fread(buffer,size,count,fpt);burrer讀入數(shù)據(jù)在內(nèi)存中的首地址;size要讀取的一個數(shù)據(jù)項(xiàng)的字節(jié)數(shù);;count一次操作讀取長度size字節(jié)的數(shù)據(jù)項(xiàng)個數(shù);fpt指向被操作的文件指針。

功能:在fpt關(guān)聯(lián)的文件中讀取指定長度的數(shù)據(jù)塊(共count*size字節(jié))存放到由buffer指定的內(nèi)存區(qū)域中。函數(shù)正常操作時返回值為讀取數(shù)據(jù)項(xiàng)數(shù),出錯時返回值小于count數(shù)據(jù)項(xiàng)數(shù)。

9.3.4文件中的數(shù)據(jù)塊讀寫操作例9-12

將例9.11程序生成的數(shù)據(jù)文件內(nèi)容讀出并顯示到屏幕上,要求文件名從命令行輸入。第9章C語言文件處理及其應(yīng)用

文件概念與文件類型指針

C語言中的文件處理基礎(chǔ)文件的讀寫操作和順序文件處理文件的定位操作和隨機(jī)文件處理獲取文件內(nèi)部記錄指針當(dāng)前位置

函數(shù)原型:longftell(FILE*stream);

函數(shù)調(diào)用:ftell(fpt);

函數(shù)功能:獲取由fpt關(guān)聯(lián)文件的文件內(nèi)部記錄指針的當(dāng)前位置,用相對于文件頭的位移量返回。返回值用字節(jié)數(shù)表示,出錯時返回-1。

9.4.1文件的操作位置指針和文件定位例9-13

利用讀字符函數(shù)fgetc和ftell函數(shù)測試指定文件的字

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論