




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 1文件的概念文件的概念 文件是存儲在外部存儲介質(zhì)上的信息的集合,每文件是存儲在外部存儲介質(zhì)上的信息的集合,每 個文件用惟一的文件名(主文件名個文件用惟一的文件名(主文件名. . 后綴)來標識,后綴)來標識, 計算機按名對文件進行讀、寫等有關(guān)操作。計算機按名對文件進行讀、寫等有關(guān)操作。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 1文件的概念文件的概念 2文件的分類文件的分類 (1)按數(shù)據(jù)的存儲形式分類)按數(shù)據(jù)的存儲形式分類: 文本文件文本文件、
2、 二進制文件二進制文件 文本文件:是將構(gòu)成文件的每個字符用一個文本文件:是將構(gòu)成文件的每個字符用一個 ASCIIASCII碼來存碼來存 儲,一個字符占一個字節(jié)。儲,一個字符占一個字節(jié)。 例例1 1:采用文本文件方式存儲整數(shù):采用文本文件方式存儲整數(shù)238238,存儲形式如下:,存儲形式如下: 字符字符22的的ASCIIASCII碼碼字符字符33的的ASCIIASCII碼碼 字符字符88的的ASCIIASCII碼碼 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 1文件的概念文件的概念 2文件的分類文件的分類 (1)按數(shù)據(jù)的存儲形式分類)按數(shù)據(jù)的
3、存儲形式分類: 文本文件文本文件、 二進制文件二進制文件 二進制文件:是按數(shù)據(jù)在內(nèi)存中的二進制碼存儲形式來存儲。二進制文件:是按數(shù)據(jù)在內(nèi)存中的二進制碼存儲形式來存儲。 例例2 2:采用二進制文件方式存儲整數(shù):采用二進制文件方式存儲整數(shù)238238,存儲形式如下:,存儲形式如下: 整數(shù)整數(shù)238238的二進制碼(占的二進制碼(占2 2個字節(jié))個字節(jié)) 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 1文件的概念文件的概念 2文件的分類文件的分類 (1)按數(shù)據(jù)的存儲形式分類)按數(shù)據(jù)的存儲形式分類:文本文件文本文件、 二進制文件二進制文件 (2)按文
4、件的處理方式分類:緩沖文件系統(tǒng)、非緩沖文件系統(tǒng))按文件的處理方式分類:緩沖文件系統(tǒng)、非緩沖文件系統(tǒng) 輸出文件緩沖區(qū)輸出文件緩沖區(qū) 輸入輸入 輸出輸出 輸入文件緩沖區(qū)輸入文件緩沖區(qū) 輸入輸入 輸出輸出 磁盤磁盤 程序數(shù)據(jù)區(qū)程序數(shù)據(jù)區(qū) 內(nèi)存內(nèi)存 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 1文件的概念文件的概念 2文件的分類文件的分類 3文件的存取方式文件的存取方式 順序存取:對文件的讀寫操作只能按順序進行。即每當順序存?。簩ξ募淖x寫操作只能按順序進行。即每當 “打開打開”這類文件進行讀或?qū)懖僮鲿r,總是從文件的這類文件進行讀或?qū)懖僮鲿r,總是從
5、文件的 開頭開始,從頭到尾順序進行讀或?qū)?,要讀或?qū)懙陂_頭開始,從頭到尾順序進行讀或?qū)?,要讀或?qū)懙趎 個字節(jié)時,先要讀或?qū)懬皞€字節(jié)時,先要讀或?qū)懬皀-1個字節(jié)。個字節(jié)。 隨機存取:對文件的讀寫操作可按指定的字節(jié)號進行。隨機存?。簩ξ募淖x寫操作可按指定的字節(jié)號進行。 即可以通過調(diào)用庫函數(shù)去指定開始讀或?qū)懙淖止?jié)號,即可以通過調(diào)用庫函數(shù)去指定開始讀或?qū)懙淖止?jié)號, 然后直接對該位置上的數(shù)據(jù)進行讀或?qū)懖僮?。然后直接對該位置上的?shù)據(jù)進行讀或?qū)懖僮鳌?二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 1文件的概念文件的概念 2文件的分類文件的分類 3文件的存取
6、方式文件的存取方式 4文件類型的指針文件類型的指針 文件指針的定義形式如下:文件指針的定義形式如下: FILE FILE * *標識符標識符; ; 其中,標識符是一個指向其中,標識符是一個指向FILEFILE類型結(jié)構(gòu)體的指針變量名類型結(jié)構(gòu)體的指針變量名 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本操作 文件操作一般有如下四個基本步驟:文件操作一般有如下四個基本步驟: (1 1)定義文件指針。)定義文件指針。 (2 2)打開文件。)打開文件。 (3 3)對文件進行讀或?qū)懖僮鳌#ξ募M行讀或?qū)懖僮鳌?(4 4
7、)關(guān)閉文件。)關(guān)閉文件。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本操作 11.2.1 11.2.1 文件的打開與關(guān)閉文件的打開與關(guān)閉 1 1文件的打開文件的打開 調(diào)用庫函數(shù)調(diào)用庫函數(shù)fopen()fopen()的一般形式為:的一般形式為: FILE FILE * *標識符標識符; ; 標識符標識符= fopen(= fopen(文件名,文件使用方式文件名,文件使用方式);); 例如:例如:FILE FILE * *fp;fp; fp= fopen(DT.dat,r); fp= fopen(DT.dat,
8、r); 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 文件使用方式文件使用方式含含 義義 r(只讀)(只讀)為輸入打開一個文本文件為輸入打開一個文本文件 w(只寫)(只寫)為輸出打開一個文本文件為輸出打開一個文本文件 a(追加)(追加)向文本文件末尾添加數(shù)據(jù)向文本文件末尾添加數(shù)據(jù) r b(只讀)(只讀)為輸入打開一個二進制文件為輸入打開一個二進制文件 wb(只寫)(只寫)為輸出打開一個二進制文件為輸出打開一個二進制文件 ab(追加)(追加)向二進制文件末尾添加數(shù)據(jù)向二進制文件末尾添加數(shù)據(jù) r+(讀寫)(讀寫)為讀為讀/寫打開一個文本文件寫打開一個文本文件 w+(讀寫)(讀寫)為讀為
9、讀/寫建立一個新的文本文件寫建立一個新的文本文件 a+(讀寫)(讀寫)為讀為讀/寫打開一個文本文件寫打開一個文本文件 rb+(讀寫)(讀寫)為讀為讀/寫打開一個二進制文件寫打開一個二進制文件 wb+(讀寫)(讀寫)為讀為讀/寫建立一個新的二進制文件寫建立一個新的二進制文件 ab+(讀寫)(讀寫)為讀為讀/寫打開一個二進制文件寫打開一個二進制文件 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本操作 11.2.1 11.2.1 文件的打開與關(guān)閉文件的打開與關(guān)閉 1 1文件的打開文件的打開 2 2文件的關(guān)閉文件的關(guān)
10、閉 調(diào)用庫函數(shù)調(diào)用庫函數(shù)fclose()fclose()的一般形式為:的一般形式為: fclose(fclose(標識符標識符);); 例如:例如:FILE FILE * *fp;fp; fp= fopen(DT.dat,r); fp= fopen(DT.dat,r); fclose(fp); fclose(fp); 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本操作 11.2.1 11.2.1 文件的打開與關(guān)閉文件的打開與關(guān)閉 11.2.2 11.2.2 文件的讀寫文件的讀寫 1 1字符讀寫函數(shù)字符讀寫函數(shù)
11、 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: ch=fgetc(fp);ch=fgetc(fp); 其中,其中,chch是字符型變量,是字符型變量,fpfp是文件指針。是文件指針。 函數(shù)功能:從文件指針函數(shù)功能:從文件指針fpfp指向的文件當前位置(位指向的文件當前位置(位 置指針)讀出一個字符,然后文件位置指針自動置指針)讀出一個字符,然后文件位置指針自動 后移,指向文件中的下一個字符,返回值為讀入后移,指向文件中的下一個字符,返回值為讀入 的字符。若遇到文件結(jié)束符,則返回結(jié)束符的字符。若遇到文件結(jié)束符,則返回結(jié)束符EOFEOF (值為(值為-1-
12、1)。文件指針)。文件指針fpfp指向的文件必須已經(jīng)以指向的文件必須已經(jīng)以 讀的方式打開。讀的方式打開。 (1)字符輸入函數(shù))字符輸入函數(shù)fgetc()。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1)字符輸入函數(shù))字符輸入函數(shù)fgetc()。 例例11.1 11.1 將磁盤文件將磁盤文件mymy的信息讀出并顯示到屏幕上(假設(shè)文的信息讀出并顯示到屏幕上(假設(shè)文 件已經(jīng)存在)。件已經(jīng)存在)。 #include #include main() main() FILE FILE * *fp; fp; char ch; char ch; if (fp=fopen(my , r)=NU
13、LL) if (fp=fopen(my , r)=NULL) printf(n exist!); printf(n exist!); exit(0); exit(0); while(ch=fgetc(fp)!=EOF) while(ch=fgetc(fp)!=EOF) putchar( ch ); putchar( ch ); fclose(fp); fclose(fp); 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1)字符輸入函數(shù))字符輸入函數(shù)fgetc()。 (2)字符輸出函數(shù))字符輸出函數(shù)fputc()。 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: fputc(ch,fp);fput
14、c(ch,fp); 其中,其中,chch是字符型數(shù)據(jù),是字符型數(shù)據(jù),fpfp是文件指針。是文件指針。 函數(shù)功能:把一個字符函數(shù)功能:把一個字符chch寫到文件指針寫到文件指針fpfp指向的磁盤文指向的磁盤文 件上去。輸出成功,返回輸出的字符;輸出失敗,返件上去。輸出成功,返回輸出的字符;輸出失敗,返 回一個回一個EOFEOF(值為(值為-1-1)。)。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1)字符輸入函數(shù))字符輸入函數(shù)fgetc()。 (2)字符輸出函數(shù))字符輸出函數(shù)fputc()。 例例11.2 11.2 從鍵盤輸入一串字符存到一個磁盤文件從鍵盤輸入一串字符存到一個磁
15、盤文件mymy中,以中,以“#”#” 結(jié)束。結(jié)束。 #include #include main() main() FILE FILE * *fp; fp; char ch; char ch; if (fp=fopen(my , w )=NULL) if (fp=fopen(my , w )=NULL) printf( n open! ); printf( n open! ); exit(0); exit(0); while(ch=getchar( )!=# ) while(ch=getchar( )!=# ) fputc ( ch,fp ); fputc ( ch,fp ); fclose(
16、fp); fclose(fp); 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本操作 11.2.1 11.2.1 文件的打開與關(guān)閉文件的打開與關(guān)閉 11.2.2 11.2.2 文件的讀寫文件的讀寫 1 1字符讀寫函數(shù)字符讀寫函數(shù) 2 2字符串讀寫函數(shù)字符串讀寫函數(shù) 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1)字符串輸入函數(shù))字符串輸入函數(shù)fgets()。 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: fgets(str,n,fp);fgets(str,n,fp); 其中,其中,strstr是字符型指針或字
17、符型數(shù)組,是字符型指針或字符型數(shù)組,n n是整型數(shù)是整型數(shù) 據(jù),據(jù),fpfp是文件指針。是文件指針。 函數(shù)功能:從文件指針函數(shù)功能:從文件指針fpfp指向的文件中讀取指向的文件中讀取n-1n-1個個 字符,把它送到由字符,把它送到由strstr指向的字符數(shù)組中。字符指向的字符數(shù)組中。字符 數(shù)組的長度應(yīng)大于數(shù)組的長度應(yīng)大于n n,可存放,可存放n-1n-1個字符,字符數(shù)個字符,字符數(shù) 組的最后一個元素為組的最后一個元素為00。若在讀入。若在讀入n-1n-1個字符個字符 前遇到換行符前遇到換行符nn或文件結(jié)束符號或文件結(jié)束符號EOFEOF,立即結(jié),立即結(jié) 束讀入操作。束讀入操作。 二級C語言程序設(shè)
18、計第11章文 件 第第11章章 文件文件 (1)字符串輸入函數(shù))字符串輸入函數(shù)fgets()。 例例11.3 11.3 利用字符串輸入函數(shù)利用字符串輸入函數(shù)fgets()fgets()將磁盤文件將磁盤文件mymy的信息讀的信息讀 出并顯示到屏幕上(假設(shè)文件已經(jīng)存在)。出并顯示到屏幕上(假設(shè)文件已經(jīng)存在)。 #include#include main()main() FILE FILE * *fp; fp; char str81; char str81; if(fp=fopen(my,r)=NULL) if(fp=fopen(my,r)=NULL) printf(Cannot open file
19、!); printf(Cannot open file!); exit(0); exit(0); while(fgets(str,81,fp)!=NULL) while(fgets(str,81,fp)!=NULL) puts(str); puts(str); fclose(fp); fclose(fp); 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1)字符串輸入函數(shù))字符串輸入函數(shù)fgets()。 (2 2)字符串輸出函數(shù))字符串輸出函數(shù)fputs()fputs()。 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: fputs(str,fp);fputs(str,fp); 其中,其中,str
20、str是字符型指針或字符型數(shù)組或字符串常量,是字符型指針或字符型數(shù)組或字符串常量, fpfp是文件指針。是文件指針。 函數(shù)功能:把字符串函數(shù)功能:把字符串strstr寫入由文件指針寫入由文件指針 fpfp指向的文件指向的文件 中。輸出成功,返回中。輸出成功,返回0 0;輸出失敗,返回非;輸出失敗,返回非0 0。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1)字符串輸入函數(shù))字符串輸入函數(shù)fgets()。 (2 2)字符串輸出函數(shù))字符串輸出函數(shù)fputs()fputs()。 例例11.4 11.4 從鍵盤輸入若干行字符存到一個磁盤文件從鍵盤輸入若干行字符存到一個磁盤文件mym
21、y中。中。 #include #include main()main() FILE FILE * *fp; fp; char str 81; char str 81; if( (fp=fopen(my, w ) = =NULL) if( (fp=fopen(my, w ) = =NULL) printf( open! ); printf( open! ); exit(0); exit(0); while (fgets(str,81,stdin)!=NULL ) while (fgets(str,81,stdin)!=NULL ) fputs(str,fp); fputs(str,fp); fc
22、lose(fp); fclose(fp); 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本操作 11.2.1 11.2.1 文件的打開與關(guān)閉文件的打開與關(guān)閉 11.2.2 11.2.2 文件的讀寫文件的讀寫 1 1字符讀寫函數(shù)字符讀寫函數(shù) 2 2字符串讀寫函數(shù)字符串讀寫函數(shù) 3 3格式化讀寫函數(shù)格式化讀寫函數(shù) 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1 1)格式化輸入函數(shù))格式化輸入函數(shù)fscanf()fscanf() 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: fscanf(文件指針文件指針,格式字符
23、串格式字符串,輸入表列輸入表列); 函數(shù)功能:從函數(shù)功能:從“文件指針文件指針”指定的文件中按指定的文件中按“格式字格式字 符串符串”指定格式輸入數(shù)據(jù)給指定格式輸入數(shù)據(jù)給“輸入表列輸入表列”給出的變給出的變 量。返回實際被賦值參數(shù)的個數(shù)。量。返回實際被賦值參數(shù)的個數(shù)。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1 1)格式化輸入函數(shù))格式化輸入函數(shù)fscanf()fscanf() 例例11.5 11.5 按指定的格式,從文件按指定的格式,從文件student. datstudent. dat中將學(xué)生信息讀中將學(xué)生信息讀 出并顯示在屏幕上。出并顯示在屏幕上。 #include#
24、include main()main() FILE FILE * *fp;fp; int i; int i; if(fp=fopen(student.dat,r)=NULL) if(fp=fopen(student.dat,r)=NULL) printf(Cannot open file! n); printf(Cannot open file! n); exit(0); exit(0); printf (output data:n ); printf (output data:n ); for(i=0;i5;i+) for(i=0;i5;i+) fscanf(fp,%d %s%c%d%s,
25、for(i=0;i5;i+,qq+) for(i=0;i5;i+,qq+) printf(%d %s%c%d%sn,ai.num,, printf(%d %s%c%d%sn,ai.num,, ai.sex,ai.age,ai.addr); ai.sex,ai.age,ai.addr); fclose(fp); fclose(fp); struct studentstruct student int num; int num; char name20; char name20; char sex; char sex; int age; int age; char ad
26、dr30; char addr30; a5; a5; 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1 1)格式化輸入函數(shù))格式化輸入函數(shù)fscanf()fscanf() (2 2)格式化輸出函數(shù))格式化輸出函數(shù)fprintf()fprintf() 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: fprintf(fprintf(文件指針文件指針, ,格式字符串格式字符串, ,輸出表列輸出表列);); 函數(shù)功能:按函數(shù)功能:按“格式字符串格式字符串”指定格式將指定格式將“輸出表列輸出表列”給給 出的數(shù)據(jù)項輸出到出的數(shù)據(jù)項輸出到“文件指針文件指針”指定的文件中。返回實際指定的文件中。返回實際 輸出數(shù)據(jù)
27、的個數(shù)。輸出數(shù)據(jù)的個數(shù)。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1 1)格式化輸入函數(shù))格式化輸入函數(shù)fscanf()fscanf() (2 2)格式化輸出函數(shù))格式化輸出函數(shù)fprintf()fprintf() 例例11.6 11.6 按指定的格式,將學(xué)生信息寫入到文件按指定的格式,將學(xué)生信息寫入到文件student. datstudent. dat中。中。 #include#include main()main() FILE FILE * *fp;fp; int i,; int i,; if(fp=fopen(student.dat,w)=NULL) if(fp=fo
28、pen(student.dat,w)=NULL) printf(Cannot open file! n); printf(Cannot open file! n); exit(0); exit(0); printf (input data:n ); printf (input data:n ); for(i=0;i5;i+) for(i=0;i5;i+) scanf(%d %s%c%d%s, for(i=0;i5;i+,qq+) for(i=0;i5;i+,qq+) fprintf(fp, %d %s%c%d%s,ai.num, fprintf(fp, %d %s%c%d%s,a
29、i.num,, ai.sex,ai.age,ai.addr); ai.sex,ai.age,ai.addr); fclose(fp); fclose(fp); struct studentstruct student int num; int num; char name20; char name20; char sex; char sex; int age; int age; char addr30; char addr30; a5 ; a5 ; 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本
30、操作 11.2.1 11.2.1 文件的打開與關(guān)閉文件的打開與關(guān)閉 11.2.2 11.2.2 文件的讀寫文件的讀寫 1 1字符讀寫函數(shù)字符讀寫函數(shù) 2 2字符串讀寫函數(shù)字符串讀寫函數(shù) 3 3格式化讀寫函數(shù)格式化讀寫函數(shù) 4 4數(shù)據(jù)塊讀寫函數(shù)數(shù)據(jù)塊讀寫函數(shù) 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1 1)數(shù)據(jù)塊輸入函數(shù))數(shù)據(jù)塊輸入函數(shù)fread()fread() 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: fread(buffer,size,count,fp);fread(buffer,size,count,fp); 其中,其中,bufferbuffer是一個指針,指向存放數(shù)據(jù)塊(數(shù)組)
31、的是一個指針,指向存放數(shù)據(jù)塊(數(shù)組)的 首地址,首地址,sizesize是輸入數(shù)據(jù)項的字節(jié)長度,是輸入數(shù)據(jù)項的字節(jié)長度,countcount是輸入是輸入 數(shù)據(jù)項的個數(shù),數(shù)據(jù)項的個數(shù),fpfp是文件指針。是文件指針。 函數(shù)功能:從文件指針函數(shù)功能:從文件指針fpfp指定的文件中輸入指定的文件中輸入countcount個字節(jié)個字節(jié) 為為sizesize的數(shù)據(jù),存放在的數(shù)據(jù),存放在bufferbuffer指向的數(shù)組中。指向的數(shù)組中。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1 1)數(shù)據(jù)塊輸入函數(shù))數(shù)據(jù)塊輸入函數(shù)fread()fread() 例例11.7 11.7 利用數(shù)據(jù)塊輸入函
32、數(shù)利用數(shù)據(jù)塊輸入函數(shù)fread()fread()完成例完成例11.511.5。 #include#include main()main() FILE FILE * *fp;fp; int i; int i; int size; int size; size=sizeof(struct student); size=sizeof(struct student); if(fp=fopen(student.dat,r)=NULL) if(fp=fopen(student.dat,r)=NULL) printf(Cannot open file! n); printf(Cannot open file
33、! n); exit(0); exit(0); printf (output data:n ); printf (output data:n ); fread(a,size,5,fp); fread(a,size,5,fp); for(i=0;i5;i+,qq+) for(i=0;i5;i+,qq+) printf(%d %s%c%d%sn,ai.num, printf(%d %s%c%d%sn,ai.num,, ai.sex,ai.age,ai.addr); ai.sex,ai.age,ai.addr); fclose(fp); fclose(fp); struc
34、t studentstruct student int num; int num; char name20; char name20; char sex; char sex; int age; int age; char addr30; char addr30; a5 ; a5 ; 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 (1 1)數(shù)據(jù)塊輸入函數(shù))數(shù)據(jù)塊輸入函數(shù)fread()fread() (2 2)數(shù)據(jù)塊輸出函數(shù))數(shù)據(jù)塊輸出函數(shù)fwrite()fwrite() 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: fwrite(buffer,size,count,fp);fwrite(buffer
35、,size,count,fp); 其中,其中,bufferbuffer是一個指針,指向存放數(shù)據(jù)塊(數(shù)組)的首是一個指針,指向存放數(shù)據(jù)塊(數(shù)組)的首 地址,地址,sizesize是輸出數(shù)據(jù)項的字節(jié)長度,是輸出數(shù)據(jù)項的字節(jié)長度,countcount是輸出數(shù)據(jù)項是輸出數(shù)據(jù)項 的個數(shù),的個數(shù),fpfp是文件指針。是文件指針。 函數(shù)功能:從函數(shù)功能:從bufferbuffer指針所指存儲單元開始,將指針所指存儲單元開始,將countcount個字個字 節(jié)為節(jié)為sizesize的數(shù)據(jù)輸出到文件指針的數(shù)據(jù)輸出到文件指針fpfp指定的文件中。指定的文件中。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件
36、文件 (1 1)數(shù)據(jù)塊輸入函數(shù))數(shù)據(jù)塊輸入函數(shù)fread()fread() struct studentstruct student int num; int num; char name20; char name20; char sex; char sex; int age; int age; char addr30; char addr30; a5 ; a5 ; 例例11.8 11.8 利用數(shù)據(jù)塊輸入函數(shù)利用數(shù)據(jù)塊輸入函數(shù)fwrite()fwrite()完成例完成例11.611.6。 #include#include main()main() FILE FILE * *fp;fp; int
37、 i; int i; int size; int size; size=sizeof(struct student); size=sizeof(struct student); if(fp=fopen(student.dat,w)=NULL) if(fp=fopen(student.dat,w)=NULL) printf(Cannot open file! n); printf(Cannot open file! n); exit(0); exit(0); printf (input data:n ); printf (input data:n ); for(i=0;i5;i+) for(i=
38、0;i5;i+) scanf(%d %s%c%d%s, fwrite(a,size,5,fp); fwrite(a,size,5,fp); fclose(fp); fclose(fp); (2 2)數(shù)據(jù)塊輸出函數(shù))數(shù)據(jù)塊輸出函數(shù)fwrite()fwrite() 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 11.1 文件的基本概念文件的基本概念 11.2 文件的基本操作文件的基本操作 11.2.1 11.2.1 文件的打開與關(guān)閉文件的打開與關(guān)閉 11.2.2 11.2.2 文件的讀寫文件的讀寫 1 1字符讀寫函數(shù)字符讀寫函數(shù) 2 2字符串讀寫函數(shù)字符串讀寫函數(shù) 3 3格式化讀寫函數(shù)
39、格式化讀寫函數(shù) 4 4數(shù)據(jù)塊讀寫函數(shù)數(shù)據(jù)塊讀寫函數(shù) 5 5判斷文件是否結(jié)束函數(shù)判斷文件是否結(jié)束函數(shù) 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 函數(shù)調(diào)用格式:函數(shù)調(diào)用格式: feof(fp);feof(fp); 其中,其中,fpfp是文件指針。是文件指針。 函數(shù)功能:判斷文件指針函數(shù)功能:判斷文件指針fpfp所指文件是否結(jié)束,如果遇到所指文件是否結(jié)束,如果遇到 文件結(jié)束,函數(shù)返回值為文件結(jié)束,函數(shù)返回值為1 1,否則,函數(shù)返回值為,否則,函數(shù)返回值為0 0。 二級C語言程序設(shè)計第11章文 件 第第11章章 文件文件 例例11.9 11.9 利用利用feof(fp)feof(fp)函數(shù)改寫例函數(shù)改寫例11
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 1930-2024醫(yī)療器械臨床評價術(shù)語和定義
- 消防安全生產(chǎn)合同責(zé)任狀
- 合同范本:單位定期存單質(zhì)押貸款
- 度勞動和社會保障合同代理協(xié)議
- 債權(quán)資產(chǎn)買賣合同
- 度標準工廠租賃合同
- 雇傭勞動合同模板合同
- 股票基金權(quán)益分配合同范本
- 寵物收養(yǎng)家庭寵物養(yǎng)護與寵物友好公共設(shè)施考核試卷
- 地震勘探儀器在復(fù)雜地質(zhì)條件下的應(yīng)用考核試卷
- 《綠色建筑設(shè)計原理》課件
- 中醫(yī)館裝修合同范本
- 學(xué)習(xí)與科技的融合主題班會
- 《直播銷售》課件-項目一 認識直播與直播銷售
- 2025年南京科技職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2025-2030年中國航空配餐行業(yè)市場發(fā)展現(xiàn)狀及投資前景規(guī)劃研究報告
- 新課標背景下的跨學(xué)科學(xué)習(xí)內(nèi)涵、設(shè)置邏輯與實踐原則
- 母嬰分離產(chǎn)婦的護理
- 2025年全國高考體育單招政治時事填空練習(xí)50題(含答案)
- 2025教科版一年級科學(xué)下冊教學(xué)計劃
- 2024解析:第六章質(zhì)量和密度-講核心(解析版)
評論
0/150
提交評論