C語言 第九章 文件_第1頁
C語言 第九章 文件_第2頁
C語言 第九章 文件_第3頁
C語言 第九章 文件_第4頁
C語言 第九章 文件_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第九章 文件文件1.什么是文件? 概念:存儲在計(jì)算機(jī)外存上的一組數(shù)據(jù)集合 分類:文本文件(一個字節(jié)存一個ASCII) 二進(jìn)制文件(以二進(jìn)制形式存放數(shù)據(jù) )例:存儲整數(shù)5678(字符5的ASCII為53) 文本編碼:00110101 00110110 00110111 00111000 二進(jìn)制編碼:00010110 00101110 文件處理文件處理程序 1.文件指針 在使用文件之前,必須建立文件指針變量,在程序中使用該指針來引用文件。 定義格式:FILE * 文件指針變量名; 注:FILE是系統(tǒng)提供的結(jié)構(gòu)體類型,必須大寫文件處理2.文件的打開文件的打開 文件打開使用fopen函數(shù)fopen函數(shù)

2、的一般形式:FILE * fopen(“文件名”,”操作方式”); 注:文件名為要打開的文件,它可以是一個由雙引號引起來的字符串 操作方式即打開文件的方式:“r”(只讀)、“w”(只寫)等 fopen函數(shù)的一般調(diào)用格式:文件指針變量= fopen(filename,mode); 文件打開成功,文件指針變量指向文件開頭 文件打開失敗,fopen函數(shù)返回NULL文件處理文件處理3.文件的關(guān)閉 文件關(guān)閉使用fclose()函數(shù)fclose函數(shù)的一般形式:int fclose(FILE *fp);fclose函數(shù)的一般調(diào)用格式:fclose(fp); 文件關(guān)閉成功,返回0;關(guān)閉失敗,返回-1文件處理4

3、.文件的順序讀寫4.1文本文件的讀寫 1.字符輸出字符輸出函數(shù)fputc() 功能:將一個字符寫入到指定文件的當(dāng)前位置,然后文件指針下移,為下一次寫入做準(zhǔn)備 函數(shù)一般形式:int fputc(char ch,FILE *fp); 函數(shù)的一般調(diào)用格式:fputc(字符變量,文件指針); 函數(shù)返回值:成功返回寫入的字符,否則返回-1(EOF)文件處理4.1文本文件的讀寫 字符輸入字符輸入函數(shù)fgetc() 功能:從指定的文件中讀取一個字符,然后文件指針下移,指向下一個字符 函數(shù)一般形式:int fgetc(FILE *fp); 函數(shù)的一般調(diào)用格式:字符變量 = fgetc(文件指針變量); 函數(shù)返

4、回值:成功返回該字符,否則返回-1文件處理#includemain()char ch; FILE *fp;fp=fopen(1.txt,w+);/以寫以寫/讀方式打開文件讀方式打開文件1.txtfputc(A,fp);/將字符將字符A寫入寫入1.txt中中rewind(fp);/將文件讀寫位置指針移到文件的開頭將文件讀寫位置指針移到文件的開頭ch=fgetc(fp);/從從1.txt中讀出一個字符中讀出一個字符putchar(ch);putchar(n);fclose(fp);文件處理4.1文本文件的讀寫 2. fputs()函數(shù)函數(shù) 功能:將一個字符串寫入到文件指針fp所指的文件中 函數(shù)一般

5、形式:int fputs(char *string,FILE *fp); 函數(shù)的一般調(diào)用格式:fputs(字符串,文件指針); 函數(shù)返回值:成功返回0,否則返回-1(EOF)文件處理4.1文本文件的讀寫 fgets()函數(shù)函數(shù) 函數(shù)一般形式:char * fgets(char * string, int n, FILE *fp); 功能:從指定的文件中讀出n-1個字符存儲到字符串string中 函數(shù)的一般調(diào)用格式:fgets(字符數(shù)組名,讀出字符個數(shù),文件指針); 函數(shù)返回值:成功返回字符串的首地址,否則返回null文件處理#includemain()char str10; FILE *fp;

6、fp=fopen(1.txt,w+);/以寫/讀方式打開文件1.txtfputs(ABCDEFGH,fp);/將字符串寫入1.txt中rewind(fp);/將文件讀寫位置指針移到文件的開頭fgets(str,6,fp);/從1.txt中讀出5個字符存儲到str數(shù)組中puts(str);fclose(fp);文件處理3. fprintf()函數(shù) 功能:將數(shù)據(jù)以格式化的方式寫入指定的文件中 函數(shù)一般形式:int fprintf(FILE *fp,char *fmt, out_list); 函數(shù)的一般調(diào)用格式: fprintf(文件指針變量,格式控制字符串, 輸出列表); 文件處理 fscanf(

7、 )函數(shù) 功能:以格式化的方式從指定的文件中讀出數(shù)據(jù),并送到指定的變量的地址中 函數(shù)一般形式:int fscanf(FILE *fp,char *fmt, in_list); 函數(shù)的一般調(diào)用格式: fscanf(文件指針變量,格式控制字符串, 輸入列表地址); 文件處理#includemain()FILE *fp; int x; char y;fp=fopen(1.txt,w+);/以寫/讀方式打開文件1.txtfprintf(fp,%d,%c,5,A);rewind(fp);/將文件讀寫位置指針移到文件的開頭fscanf(fp,%d,%c,&x,&y);printf(%d,%cn,x,y);

8、fclose(fp); 文件處理4.2二進(jìn)制文件的讀寫 1.寫二進(jìn)制文件的函數(shù)fwrite() 一般形式:int fwrite(void *buf , int size, int count,F(xiàn)ILE *fp); 調(diào)用格式:fwrite(buf, size, count, fp); 注:buf是將要輸出數(shù)據(jù)區(qū)的首地址,size表示要讀寫的字節(jié) count表示要讀寫的數(shù)據(jù)塊的塊數(shù) fp文件指針變量文件處理1.讀二進(jìn)制文件的函數(shù)fread() 一般形式:int fread(void *buf,int size, int count,F(xiàn)ILE *fp); 調(diào)用格式:fread(buf, size,

9、count, fp); 注:buf是讀入數(shù)據(jù)區(qū)的首地址,size表示要讀寫的字節(jié) count表示要讀寫的數(shù)據(jù)塊的塊數(shù) fp文件指針變量 文件處理#includemain()FILE *fp; int a10=1,2,3,4,5,6,7,8,9,0,b10,i;fp=fopen(1.bin,wb+);/以寫/讀方式打開文件1.binfwrite(a,4,10,fp);rewind(fp);/將文件讀寫位置指針移到文件的開頭fread(b,4,10,fp);for(i=0;i10;i+)printf(%d,bi);printf(n);fclose(fp); 文件處理5.文件的定位 void rewind()函數(shù)功能:使文件位置指針重新返回到文件的開始處 一般調(diào)用格式:rewind(文件指針變量) int fseek()函數(shù)功能:移動文件位置指針 一般調(diào)用格式:fseek(文件指針變量,位移量,起

溫馨提示

  • 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

提交評論