C語言程序設(shè)計C語言程序設(shè)計-10課件_第1頁
C語言程序設(shè)計C語言程序設(shè)計-10課件_第2頁
C語言程序設(shè)計C語言程序設(shè)計-10課件_第3頁
C語言程序設(shè)計C語言程序設(shè)計-10課件_第4頁
C語言程序設(shè)計C語言程序設(shè)計-10課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計C語言程序設(shè)計1

項目二項目五旅游小幫手任務(wù)2:旅游信息的讀寫要求:旅游景點(diǎn)信息的輸入與輸出。解決問題需要的知識點(diǎn):1、文件的概念;2、文件的打開與關(guān)閉;3、文件的輸入與輸出;項目二項目五旅游小幫手要求:解決問題需要的知識點(diǎn):2項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容310.1文件概念什么是文件?文件:存儲在外部介質(zhì)上數(shù)據(jù)的集合,是操作系統(tǒng)數(shù)據(jù)管理的單位文件的標(biāo)識:用文件名。文件名是引用文件的唯一標(biāo)志。10.1文件概念什么是文件?文件:存儲在外部介質(zhì)上數(shù)據(jù)的4使用數(shù)據(jù)文件的目的1.數(shù)據(jù)文件的改動不引起程序的改動——程序與數(shù)據(jù)分離;2.不同程序可以訪問同一數(shù)據(jù)文件中的數(shù)據(jù)——數(shù)據(jù)共享;3.能長期保存程序運(yùn)行的中間數(shù)據(jù)或結(jié)果數(shù)據(jù)。為什么要使用文件?使用數(shù)據(jù)文件的目的為什么要使用文件?5按數(shù)據(jù)的存儲形式:文本文件:

ASCII文件,每個字節(jié)存放一個字符的ASCII碼二進(jìn)制文件:數(shù)據(jù)按其在內(nèi)存中的存儲形式原樣存放1、文件分類按數(shù)據(jù)的存儲形式:1、文件分類6按文件處理方法緩沖文件系統(tǒng):高級文件系統(tǒng),系統(tǒng)自動為正在使用的文件開辟內(nèi)存緩沖區(qū)非緩沖文件系統(tǒng):低級文件系統(tǒng),由用戶在程序中為每個文件設(shè)定緩沖區(qū)按文件處理方法7按文件的邏輯結(jié)構(gòu):記錄文件:由具有一定結(jié)構(gòu)的記錄組成(定長和不定長)流式文件:由一個個字符(字節(jié))數(shù)據(jù)順序組成按存儲介質(zhì):普通文件:存儲介質(zhì)文件(磁盤、磁帶等)設(shè)備文件:非存儲介質(zhì)(鍵盤、顯示器、打印機(jī)等)按文件的讀寫方式:順序讀寫文件:順序讀寫文件的讀寫按照數(shù)據(jù)在文件中的存儲順序進(jìn)行,讀寫完當(dāng)前數(shù)據(jù)后,下次讀寫自然是下一組數(shù)據(jù),因此,無需在文件讀寫時定位隨機(jī)讀寫文件:隨機(jī)文件可以讀寫文件任意位置的數(shù)據(jù),但必須在讀寫前定位到數(shù)據(jù)在文件的位置處按文件的邏輯結(jié)構(gòu):82、文件的操作過程所有文件的操作都要經(jīng)過四個步驟:1.定義標(biāo)準(zhǔn)的文件指針該指針?biāo)赶虻慕Y(jié)構(gòu)體變量在文件的使用過程中始終保存文件的基本信息。2.打開文件打開文件的目的是建立一個以文件名標(biāo)識的磁盤文件與文件指針的聯(lián)系,建立相應(yīng)的緩沖區(qū)以及文件基本信息結(jié)構(gòu)變量。3.讀寫文件讀寫文件是文件操作的目的。讀是指從文件輸入數(shù)據(jù)到程序的數(shù)據(jù)區(qū),寫是指將程序數(shù)據(jù)區(qū)中的數(shù)據(jù)輸出到文件。4.關(guān)閉文件文件使用后要關(guān)閉文件,關(guān)閉文件的目的是釋放文件打開時所占用的資源。對于文件的打開、讀寫、關(guān)閉,C語言定義一簇標(biāo)準(zhǔn)的函數(shù),函數(shù)的原型聲明在頭文件stdio.h當(dāng)中。對于文件的應(yīng)用,主要是掌握文件操作的各個函數(shù)的基本使用方法。2、文件的操作過程所有文件的操作都要經(jīng)過四個步驟:對于文件9項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容1010.2文件指針文件結(jié)構(gòu)體FILE

緩沖文件系統(tǒng)為每個正使用的文件在內(nèi)存開辟文件信息區(qū)文件信息用系統(tǒng)定義的名為FILE的結(jié)構(gòu)體描述FILE定義放在stdio.h中typedefstruct{int_fd;/*文件號*/int_cleft;/*緩沖區(qū)中剩下的字符數(shù)*/int_mode;/*文件操作方式*/char*_next;/*文件當(dāng)前讀寫位置*/char*_buff;/*文件緩沖區(qū)位置*/}FILE;10.2文件指針文件結(jié)構(gòu)體FILEtypedefst11文件類型指針指針變量說明:FILE*fp;用法:文件打開時,系統(tǒng)自動建立文件結(jié)構(gòu)體,并把指向它的指針返回來,程序通過這個指針獲得文件信息,訪問文件文件關(guān)閉后,它的文件結(jié)構(gòu)體被釋放文件類型指針用法:12項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容1310.3文件的打開與關(guān)閉C文件操作用庫函數(shù)實現(xiàn),包含在stdio.h文件使用方式:打開文件→文件讀/寫→關(guān)閉文件系統(tǒng)自動打開和關(guān)閉三個標(biāo)準(zhǔn)文件:標(biāo)準(zhǔn)輸入------鍵盤stdin標(biāo)準(zhǔn)輸出------顯示器stdout標(biāo)準(zhǔn)出錯輸出------顯示器stderr10.3文件的打開與關(guān)閉C文件操作用庫函數(shù)實現(xiàn),包含在s141、文件的打開(fopen)函數(shù)原型:

FILE*fopen(char*name,char*mode)功能:按指定方式打開文件返值:正常打開,為指向文件結(jié)構(gòu)體的指針;打開失敗,為NULL1、文件的打開(fopen)函數(shù)原型:FILE*f152、文件的關(guān)閉(fclose)作用:使文件指針變量與文件“脫鉤”,釋放文件結(jié)構(gòu)體和文件指針函數(shù)原型:intfclose(FILE*fp)功能:關(guān)閉fp指向的文件返值:正常關(guān)閉為0;出錯時,非02、文件的關(guān)閉(fclose)作用:使文件指針變量與文件“16項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容1710.4文件的讀寫

文件打開后,可以通過系統(tǒng)定義的一系列標(biāo)準(zhǔn)函數(shù)實現(xiàn)對文件的讀寫,這些函數(shù)的原型都聲明在頭文件stdio.h中1、字符的輸入/輸出函數(shù):(fputc與fgetc)fputc函數(shù)原型:intfputc(intc,FILE*fp)功能:把一字節(jié)代碼c寫入fp指向的文件中返值:正常,返回c;出錯,為EOFfgetc函數(shù)原型:intfgetc(FILE*fp)功能:從fp指向的文件中讀取一字節(jié)代碼返值:正常,返回讀到的代碼值;讀到文件尾或出錯,為EOF10.4文件的讀寫文件打開后,可以通過系統(tǒng)18feof函數(shù)函數(shù)原型:

intfeof(FILE*fp)功能:判斷文件是否結(jié)束返值:文件結(jié)束,返回真(非0);文件未結(jié)束,返回0feof函數(shù)19字符串輸入函數(shù)fgets函數(shù)原型:

char*fgets(char*s,intn,FILE*fp)功能:從fp所指文件讀n-1個字符送入s指向的內(nèi)存區(qū),并在最后加一個‘\0’(若讀入n-1個字符前遇換行符或文件尾(EOF)即結(jié)束)返值:正常時返回讀取字符串的首地址;出錯或文件尾,返回NULL2、文件的字符串輸入/輸出函數(shù)字符串輸入函數(shù)fgets2、文件的字符串輸入/輸出函數(shù)20字符串輸出函數(shù)fputs函數(shù)原型:

intfputs(char*s,FILE*fp)功能:把s指向的字符串寫入fp指向的文件返值:正常時返回寫入的最后一個字符;出錯為EOF字符串輸出函數(shù)fputs213、文件的格式化輸入/輸出函數(shù)格式化輸入函數(shù)fscanf函數(shù)原型:

intfscanf(FILE*fp,constchar*format[,address,…])一般形式:fscanf(fp,format,&arg1,&arg2,…,&argn);功能:從fp指向的文件的當(dāng)前位置,順序讀取ASCII碼值,按照format規(guī)定的格式,轉(zhuǎn)化成各個變量對應(yīng)的值,送入指定變量返值:成功,返回I/O的個數(shù);出錯或文件尾,返回EOF3、文件的格式化輸入/輸出函數(shù)格式化輸入函數(shù)fscanf一般22格式化輸出函數(shù)fprintf函數(shù)原型:

intfprintf(FILE*fp,constchar*format[,argument,…])一般形式:

fprintf(fp,format,arg1,…,argn);功能:按指定的格式(format)將輸出列表arg1,arg2,…,argn的值轉(zhuǎn)換成對應(yīng)的ASCII碼表示形式,寫入fp文件的當(dāng)前位置返值:成功,返回I/O的個數(shù);出錯或文件尾,返回EOF格式化輸出函數(shù)fprintf一般形式:234、文件的數(shù)據(jù)塊輸入/輸出函數(shù)文件的數(shù)據(jù)塊輸入函數(shù)fread函數(shù)原型:

size_tfread(void*buffer,size_tsize,size_tcount,FILE*fp)一般形式:

fread(buf,size,count,fp);功能:從fp指向文件的當(dāng)前位置,讀取size個字節(jié),共count次,總字節(jié)數(shù)為size×count,存放到首地址為buf的內(nèi)存中返值:成功,返回讀/寫的塊數(shù);出錯或文件尾,返回0說明:typedefunsignedsize_t;buffer:指向要輸入數(shù)據(jù)塊的首地址的指針size:每個要讀的數(shù)據(jù)塊的大?。ㄗ止?jié)數(shù))count:要讀的數(shù)據(jù)塊的個數(shù)fp:要讀的文件指針4、文件的數(shù)據(jù)塊輸入/輸出函數(shù)文件的數(shù)據(jù)塊輸入函數(shù)frea24文件的數(shù)據(jù)塊輸出函數(shù)fread函數(shù)原型:size_tfwrite(void*buffer,size_tsize,size_tcount,FILE*fp)一般形式:fwrite(buf,size,count,fp);功能:從buf開始,分count次,每次size個字節(jié),向fp指向的文件的當(dāng)前位置寫數(shù)據(jù),共count×size字節(jié)。返值:成功,返回讀/寫的塊數(shù);出錯或文件尾,返回0說明:typedefunsignedsize_t;buffer:指向要輸出數(shù)據(jù)塊的首地址的指針size:每個要寫的數(shù)據(jù)塊的大小(字節(jié)數(shù))count:要寫的數(shù)據(jù)塊的個數(shù)fp:要寫的文件指針fread與fwrite一般用于二進(jìn)制文件的輸入/輸出文件的數(shù)據(jù)塊輸出函數(shù)fread255、整數(shù)輸入/輸出函數(shù)整數(shù)輸入函數(shù)getw一般形式:

inta; a=getw(fp);功能:是從fp指向的文件中讀一個整數(shù)(2字節(jié))返值:成功,返回讀出的整數(shù);出錯或文件尾,返回0該函數(shù)只適用于二進(jìn)制文件。5、整數(shù)輸入/輸出函數(shù)整數(shù)輸入函數(shù)getw26整數(shù)輸出函數(shù)putw一般形式:

putw(I,fp);功能:將整數(shù)i輸出到文件fp中返值:成功,返回整數(shù);出錯或文件尾,返回0該函數(shù)只適用于二進(jìn)制文件。整數(shù)輸出函數(shù)putw27項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容2810.5文件的定位操作什么是文件位置指針?文件位置指針-----指向當(dāng)前讀寫位置的指針讀寫方式順序讀寫:位置指針按字節(jié)位置順序移動隨機(jī)讀寫:位置指針按需要移動到任意位置10.5文件的定位操作什么是文件位置指針?文件位置指針-29取文件當(dāng)前位置ftell函數(shù)函數(shù)原型:

longftell(FILE*fp)一般形式:

longn; n=ftell(fp);功能:返回位置指針當(dāng)前位置(用相對文件開頭的位移量表示)返值:成功,返回當(dāng)前位置指針位置;失敗,返回-1L取文件當(dāng)前位置ftell函數(shù)30改變文件指針的當(dāng)前位置fseek函數(shù)函數(shù)原型:intfseek(FILE*fp,longoffset,intwhence)一般形式:

fseek(fp,offset,from);功能:改變文件位置指針的位置,將文件的讀寫位置以from為參照點(diǎn),移動offset個字節(jié)返值:成功,返回0;失敗,返回非0值改變文件指針的當(dāng)前位置fseek函數(shù)31置文件讀寫位置于開頭rewind()函數(shù)函數(shù)原型:

voidrewind(FILE*fp)一般形式寫: rewind(fp);功能:重置文件位置指針到文件開頭返值:無置文件讀寫位置于開頭rewind()函數(shù)32項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容3310.6文件的錯誤檢測ferror函數(shù)函數(shù)原型:

intferror(FILE*fp)一般形式為:

interrorcode; errorcode=ferror(fp);功能:測試文件是否出現(xiàn)錯誤返值:未出錯,0;出錯,非0說明:每次調(diào)用文件輸入輸出函數(shù),均產(chǎn)生一個新的ferror函數(shù)值,所以應(yīng)及時測試fopen打開文件時,ferror函數(shù)初值自動置為010.6文件的錯誤檢測ferror函數(shù)34clearerr函數(shù)函數(shù)原型:

voidclearerr(FILE*fp)功能:使文件錯誤標(biāo)志置為0返值:無說明:出錯后,錯誤標(biāo)志一直保留,直到對同一文件調(diào)用clearerr(fp)或rewind或任何其它一個輸入輸出函數(shù)clearerr函數(shù)35第10章文件——總結(jié)文件的概念(文件的分類及操作過程);文件指針;文件的打開與關(guān)閉(fopen、fclose);文件的讀寫(輸入輸出函數(shù));文件的定位操作;文件的錯誤檢測。文件的概念(文件的分類及操作過程);文件指針;文件的打開與關(guān)閉(fopen、fclose);文件的讀寫(輸入輸出函數(shù))。內(nèi)容總結(jié)知識點(diǎn)重難點(diǎn)第10章文件——總結(jié)文件的概念(文件的分類及操作過程);文36C語言程序設(shè)計C語言程序設(shè)計37

項目二項目五旅游小幫手任務(wù)2:旅游信息的讀寫要求:旅游景點(diǎn)信息的輸入與輸出。解決問題需要的知識點(diǎn):1、文件的概念;2、文件的打開與關(guān)閉;3、文件的輸入與輸出;項目二項目五旅游小幫手要求:解決問題需要的知識點(diǎn):38項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容3910.1文件概念什么是文件?文件:存儲在外部介質(zhì)上數(shù)據(jù)的集合,是操作系統(tǒng)數(shù)據(jù)管理的單位文件的標(biāo)識:用文件名。文件名是引用文件的唯一標(biāo)志。10.1文件概念什么是文件?文件:存儲在外部介質(zhì)上數(shù)據(jù)的40使用數(shù)據(jù)文件的目的1.數(shù)據(jù)文件的改動不引起程序的改動——程序與數(shù)據(jù)分離;2.不同程序可以訪問同一數(shù)據(jù)文件中的數(shù)據(jù)——數(shù)據(jù)共享;3.能長期保存程序運(yùn)行的中間數(shù)據(jù)或結(jié)果數(shù)據(jù)。為什么要使用文件?使用數(shù)據(jù)文件的目的為什么要使用文件?41按數(shù)據(jù)的存儲形式:文本文件:

ASCII文件,每個字節(jié)存放一個字符的ASCII碼二進(jìn)制文件:數(shù)據(jù)按其在內(nèi)存中的存儲形式原樣存放1、文件分類按數(shù)據(jù)的存儲形式:1、文件分類42按文件處理方法緩沖文件系統(tǒng):高級文件系統(tǒng),系統(tǒng)自動為正在使用的文件開辟內(nèi)存緩沖區(qū)非緩沖文件系統(tǒng):低級文件系統(tǒng),由用戶在程序中為每個文件設(shè)定緩沖區(qū)按文件處理方法43按文件的邏輯結(jié)構(gòu):記錄文件:由具有一定結(jié)構(gòu)的記錄組成(定長和不定長)流式文件:由一個個字符(字節(jié))數(shù)據(jù)順序組成按存儲介質(zhì):普通文件:存儲介質(zhì)文件(磁盤、磁帶等)設(shè)備文件:非存儲介質(zhì)(鍵盤、顯示器、打印機(jī)等)按文件的讀寫方式:順序讀寫文件:順序讀寫文件的讀寫按照數(shù)據(jù)在文件中的存儲順序進(jìn)行,讀寫完當(dāng)前數(shù)據(jù)后,下次讀寫自然是下一組數(shù)據(jù),因此,無需在文件讀寫時定位隨機(jī)讀寫文件:隨機(jī)文件可以讀寫文件任意位置的數(shù)據(jù),但必須在讀寫前定位到數(shù)據(jù)在文件的位置處按文件的邏輯結(jié)構(gòu):442、文件的操作過程所有文件的操作都要經(jīng)過四個步驟:1.定義標(biāo)準(zhǔn)的文件指針該指針?biāo)赶虻慕Y(jié)構(gòu)體變量在文件的使用過程中始終保存文件的基本信息。2.打開文件打開文件的目的是建立一個以文件名標(biāo)識的磁盤文件與文件指針的聯(lián)系,建立相應(yīng)的緩沖區(qū)以及文件基本信息結(jié)構(gòu)變量。3.讀寫文件讀寫文件是文件操作的目的。讀是指從文件輸入數(shù)據(jù)到程序的數(shù)據(jù)區(qū),寫是指將程序數(shù)據(jù)區(qū)中的數(shù)據(jù)輸出到文件。4.關(guān)閉文件文件使用后要關(guān)閉文件,關(guān)閉文件的目的是釋放文件打開時所占用的資源。對于文件的打開、讀寫、關(guān)閉,C語言定義一簇標(biāo)準(zhǔn)的函數(shù),函數(shù)的原型聲明在頭文件stdio.h當(dāng)中。對于文件的應(yīng)用,主要是掌握文件操作的各個函數(shù)的基本使用方法。2、文件的操作過程所有文件的操作都要經(jīng)過四個步驟:對于文件45項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容4610.2文件指針文件結(jié)構(gòu)體FILE

緩沖文件系統(tǒng)為每個正使用的文件在內(nèi)存開辟文件信息區(qū)文件信息用系統(tǒng)定義的名為FILE的結(jié)構(gòu)體描述FILE定義放在stdio.h中typedefstruct{int_fd;/*文件號*/int_cleft;/*緩沖區(qū)中剩下的字符數(shù)*/int_mode;/*文件操作方式*/char*_next;/*文件當(dāng)前讀寫位置*/char*_buff;/*文件緩沖區(qū)位置*/}FILE;10.2文件指針文件結(jié)構(gòu)體FILEtypedefst47文件類型指針指針變量說明:FILE*fp;用法:文件打開時,系統(tǒng)自動建立文件結(jié)構(gòu)體,并把指向它的指針返回來,程序通過這個指針獲得文件信息,訪問文件文件關(guān)閉后,它的文件結(jié)構(gòu)體被釋放文件類型指針用法:48項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容4910.3文件的打開與關(guān)閉C文件操作用庫函數(shù)實現(xiàn),包含在stdio.h文件使用方式:打開文件→文件讀/寫→關(guān)閉文件系統(tǒng)自動打開和關(guān)閉三個標(biāo)準(zhǔn)文件:標(biāo)準(zhǔn)輸入------鍵盤stdin標(biāo)準(zhǔn)輸出------顯示器stdout標(biāo)準(zhǔn)出錯輸出------顯示器stderr10.3文件的打開與關(guān)閉C文件操作用庫函數(shù)實現(xiàn),包含在s501、文件的打開(fopen)函數(shù)原型:

FILE*fopen(char*name,char*mode)功能:按指定方式打開文件返值:正常打開,為指向文件結(jié)構(gòu)體的指針;打開失敗,為NULL1、文件的打開(fopen)函數(shù)原型:FILE*f512、文件的關(guān)閉(fclose)作用:使文件指針變量與文件“脫鉤”,釋放文件結(jié)構(gòu)體和文件指針函數(shù)原型:intfclose(FILE*fp)功能:關(guān)閉fp指向的文件返值:正常關(guān)閉為0;出錯時,非02、文件的關(guān)閉(fclose)作用:使文件指針變量與文件“52項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容5310.4文件的讀寫

文件打開后,可以通過系統(tǒng)定義的一系列標(biāo)準(zhǔn)函數(shù)實現(xiàn)對文件的讀寫,這些函數(shù)的原型都聲明在頭文件stdio.h中1、字符的輸入/輸出函數(shù):(fputc與fgetc)fputc函數(shù)原型:intfputc(intc,FILE*fp)功能:把一字節(jié)代碼c寫入fp指向的文件中返值:正常,返回c;出錯,為EOFfgetc函數(shù)原型:intfgetc(FILE*fp)功能:從fp指向的文件中讀取一字節(jié)代碼返值:正常,返回讀到的代碼值;讀到文件尾或出錯,為EOF10.4文件的讀寫文件打開后,可以通過系統(tǒng)54feof函數(shù)函數(shù)原型:

intfeof(FILE*fp)功能:判斷文件是否結(jié)束返值:文件結(jié)束,返回真(非0);文件未結(jié)束,返回0feof函數(shù)55字符串輸入函數(shù)fgets函數(shù)原型:

char*fgets(char*s,intn,FILE*fp)功能:從fp所指文件讀n-1個字符送入s指向的內(nèi)存區(qū),并在最后加一個‘\0’(若讀入n-1個字符前遇換行符或文件尾(EOF)即結(jié)束)返值:正常時返回讀取字符串的首地址;出錯或文件尾,返回NULL2、文件的字符串輸入/輸出函數(shù)字符串輸入函數(shù)fgets2、文件的字符串輸入/輸出函數(shù)56字符串輸出函數(shù)fputs函數(shù)原型:

intfputs(char*s,FILE*fp)功能:把s指向的字符串寫入fp指向的文件返值:正常時返回寫入的最后一個字符;出錯為EOF字符串輸出函數(shù)fputs573、文件的格式化輸入/輸出函數(shù)格式化輸入函數(shù)fscanf函數(shù)原型:

intfscanf(FILE*fp,constchar*format[,address,…])一般形式:fscanf(fp,format,&arg1,&arg2,…,&argn);功能:從fp指向的文件的當(dāng)前位置,順序讀取ASCII碼值,按照format規(guī)定的格式,轉(zhuǎn)化成各個變量對應(yīng)的值,送入指定變量返值:成功,返回I/O的個數(shù);出錯或文件尾,返回EOF3、文件的格式化輸入/輸出函數(shù)格式化輸入函數(shù)fscanf一般58格式化輸出函數(shù)fprintf函數(shù)原型:

intfprintf(FILE*fp,constchar*format[,argument,…])一般形式:

fprintf(fp,format,arg1,…,argn);功能:按指定的格式(format)將輸出列表arg1,arg2,…,argn的值轉(zhuǎn)換成對應(yīng)的ASCII碼表示形式,寫入fp文件的當(dāng)前位置返值:成功,返回I/O的個數(shù);出錯或文件尾,返回EOF格式化輸出函數(shù)fprintf一般形式:594、文件的數(shù)據(jù)塊輸入/輸出函數(shù)文件的數(shù)據(jù)塊輸入函數(shù)fread函數(shù)原型:

size_tfread(void*buffer,size_tsize,size_tcount,FILE*fp)一般形式:

fread(buf,size,count,fp);功能:從fp指向文件的當(dāng)前位置,讀取size個字節(jié),共count次,總字節(jié)數(shù)為size×count,存放到首地址為buf的內(nèi)存中返值:成功,返回讀/寫的塊數(shù);出錯或文件尾,返回0說明:typedefunsignedsize_t;buffer:指向要輸入數(shù)據(jù)塊的首地址的指針size:每個要讀的數(shù)據(jù)塊的大?。ㄗ止?jié)數(shù))count:要讀的數(shù)據(jù)塊的個數(shù)fp:要讀的文件指針4、文件的數(shù)據(jù)塊輸入/輸出函數(shù)文件的數(shù)據(jù)塊輸入函數(shù)frea60文件的數(shù)據(jù)塊輸出函數(shù)fread函數(shù)原型:size_tfwrite(void*buffer,size_tsize,size_tcount,FILE*fp)一般形式:fwrite(buf,size,count,fp);功能:從buf開始,分count次,每次size個字節(jié),向fp指向的文件的當(dāng)前位置寫數(shù)據(jù),共count×size字節(jié)。返值:成功,返回讀/寫的塊數(shù);出錯或文件尾,返回0說明:typedefunsignedsize_t;buffer:指向要輸出數(shù)據(jù)塊的首地址的指針size:每個要寫的數(shù)據(jù)塊的大?。ㄗ止?jié)數(shù))count:要寫的數(shù)據(jù)塊的個數(shù)fp:要寫的文件指針fread與fwrite一般用于二進(jìn)制文件的輸入/輸出文件的數(shù)據(jù)塊輸出函數(shù)fread615、整數(shù)輸入/輸出函數(shù)整數(shù)輸入函數(shù)getw一般形式:

inta; a=getw(fp);功能:是從fp指向的文件中讀一個整數(shù)(2字節(jié))返值:成功,返回讀出的整數(shù);出錯或文件尾,返回0該函數(shù)只適用于二進(jìn)制文件。5、整數(shù)輸入/輸出函數(shù)整數(shù)輸入函數(shù)getw62整數(shù)輸出函數(shù)putw一般形式:

putw(I,fp);功能:將整數(shù)i輸出到文件fp中返值:成功,返回整數(shù);出錯或文件尾,返回0該函數(shù)只適用于二進(jìn)制文件。整數(shù)輸出函數(shù)putw63項目五旅游小幫手

任務(wù)2:旅游信息的讀寫

——

第10章文件章節(jié)主要內(nèi)容10.1文件概念10.2文件指針10.3文件的打開與關(guān)閉10.4文件的讀寫10.5文件的定位操作10.6文件的錯誤檢測項目五旅游小幫手章節(jié)主要內(nèi)容6410.5文件的定位操作什么是文件位置指針?文件位置指針-----指

溫馨提示

  • 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

提交評論