freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言實驗教程(下)清華大學(xué)ppt-資料下載頁

2024-10-16 16:01本頁面
  

【正文】 文文件 讀寫,為讀 /寫打開二進制文件 讀寫,為讀 /寫建立并打開新的二進制文件 讀寫,為讀 /寫打開二進制文件 第十一章 文件 ? 說明: ? ①用只讀方式打開一個文件,該文件必須已存在,否則打開文件操作失敗。 ? ②用只寫或讀寫方式打開一個文件,如原文件不存在,則按指定的文件名新建立一個文件;如原文件巳存在,則原文件的內(nèi)容被刪除。 ? ③用追加方式打開文件,則數(shù)據(jù)添加到已存在文件的末尾或創(chuàng)建一個新文件。 (3)調(diào)用后返回一個指向 FILE的指針。如果不能實現(xiàn)打開任務(wù),函數(shù) fopen返回一個出錯信息 ??紤]到文件可能不能正常打開的情況,程序一般應(yīng)對返回值進行檢測: if((fp=fopen(filename, r))==NULL) { printf(Cannot open %s file.\n,filename。 )。 exit(O)。 } 第十一章 文件 ? 文件的關(guān)閉 —— fclose函數(shù) 在用 fopen函數(shù)打開一個文件時,返回指向該文件的指針,并賦給了文件指針變量 fp。在使用完這個文件之后,應(yīng)該關(guān)閉這個文件,“關(guān)閉”就是使文件指針不再指向該文件??梢杂?fclose函數(shù)關(guān)閉文件, fclose函數(shù)的說明形式是: int fclose(FILE *fp)。 關(guān)閉文件時可以調(diào)用 fclose函數(shù),其形式是: fclose(文件指針 )。 例如,要關(guān)閉文件指針變量 fp所指向的文件,可以調(diào)用 fclose(fp)。 第十一章 文件 ? 文件的讀寫 ? 字符讀寫函數(shù) —— fputc和 fgetc ? 說明形式如下: int fputc(char ch,FILE * fp)。 ? 調(diào)用形式為: fputc (ch,fp)。 其中, ch是待輸出的字符變量, fp是文件指針,將字符 ch寫到 fp所指的文件中。函數(shù)返回一個整型值,如調(diào)用成功則返回寫入字符的 ASCII代碼值,失敗時返回EOF,即 1。 第十一章 文件 例如,下面一段程序,將 a、 b、 c、 ?26 個字母寫入 fp所指的文件中: char c=39。a39。 for(i=0,i26。i++) fputc(c++,fp)。 第十一章 文件 該函數(shù)是從指定的打開的文件中每次讀取一個字符。它的說明形式如下: int fgetc(FILE *fp)。 ? 該函數(shù)的調(diào)用形式是: c=fgetc(fp)。 其中, fp是文件指針, c是一個 int型變量,該函數(shù)從 fp所指文件中讀一個字符,并將字符的 ASCII代碼值賦給變量 c,如遇到文件結(jié)束或調(diào)用有錯,返回 EOF。 ? 說明: (1)關(guān)于文件結(jié)束標志 對于文本文件,由于字符的 ASCII代碼不可能是 1,因此用 EOF(在 1)作為文件結(jié)束標志; 第十一章 文件 對于二進制文件,系統(tǒng)提供了函數(shù) feof用來判斷文件是否結(jié)束。 feof函數(shù)對二進制文件和文本文件都適用,函數(shù)調(diào)用 feof(fp)來測試與 fp相聯(lián)系的文件當前狀態(tài)是否為文件結(jié)束;若是返回非 0值,否則返回 0值。 如果希望從文本文件依次讀入字符一直到文件末尾,則可用循環(huán)語句。例如: char c。 while((c=fgetc(fp))!=EOF) { ?/* 對 c處理 */ } 第十一章 文件 如果是從二進制文件依次讀入字節(jié)信息 (文本文件同樣適用 ),則可用: char c。 while(!feof(fp)) { c=fgetc(fp)。 ?/* 對 c處理 */ } (2)關(guān)于 getchar和 putchar 這是在第三章介紹的兩個函數(shù),用來輸入輸出一個字符,實際上它們是由 fgetc和 fputc派生出來的兩個宏,派生過程可以理解為: define getchar() fgetc(stdin) define putchar(c) fputc((c),stdout) 第十一章 文件 例 將一個磁盤文件中的信息復(fù)制到另一個磁盤文件中。 include include void main() { FILE *pin,*pout。 char *fname1=,*fname2=。 if ((pin=fopen(fname1,r))==NULL) { printf(Cannot open %s file.\n,fname1)。 exit(1)。 } if ((pout=fopen(fname2,w))==NULL) { printf(Cannot open %s file.\n,fname2)。 exit(1)。 } while (!feof(pin)) fputc(fgetc(pin),pout)。 fclose(pin)。 fclose(pout)。 } 第十一章 文件 ? 字符串讀寫函數(shù) —— fgets和 fputs 該函數(shù)將一字符串寫到所指定的文件中。它的說明形式為: int fputs (char *str,FILE *fp)。 其調(diào)用形式是: fputs(str,fp)。 其中, fp是文件指針, str是字符串指針。將 str所指的字符串寫到 fp所指的文件中去。正常時返回寫入文件的字符個數(shù),否則返回 EOF。字符串的結(jié)束符 39。\039。不寫入文件,也不在寫入的字符串后面加上換行符。調(diào)用時, str可以是字符指針、字符數(shù)組名和字符串常量。 例如,把字符串“ china” 寫入 fp所指的文件: char *str=china。 fputs(str,fp)。 第十一章 文件 該函數(shù)是從指定的文件中讀取一個字符串,并存于字符指針所指的存儲區(qū)域中。說明形式如下: char *fgets(char *str,int n,FILE *fp)。 它的調(diào)用形式是: fgets(str,n,fp)。 其中, fp是文件指針, str是字符指針或字符數(shù)組, n是指定讀取字符的個數(shù)。 該函數(shù)就是從 fp所指向的文件中,每次讀取 n1個字符,或讀取到換行符,或讀到文件結(jié)束。將讀到的字符送到 str所指定的存儲區(qū)域。該函數(shù)返回讀入字符串的首地址,調(diào)用有錯時返回 NULL。讀入到 str中的字符最后加 39。\039。,使其成為字符串。 第十一章 文件 ? 說明: (1)gets函數(shù)把從鍵盤 (stdin)讀的換行符 39。\n39。換成 39。\039。,而 fgets函數(shù)則把從文件 (包括 stdin)讀入的字符串換行符作為字符存儲,然后才在末尾加上 39。\039。 (2)gets函數(shù)只能在遇到換行符 (\n)時才停止輸入,而fgets函數(shù)在參數(shù)中可以指定讀進的字符長度。 (3)puts函數(shù)把字符串結(jié)束標志 39。\039。轉(zhuǎn)換為換行符后輸出字符串,而 fputs函數(shù)在輸出字符串時則丟掉字符串結(jié)束標志 39。\039。 第十一章 文件 例 分析下面程序的輸出結(jié)果。 include char *s[]={C,pascal,ada}。 int n[]={2,7,4}。 void main() { int i。 char a[3][10]。 FILE *fp。 fp=fopen(,w)。 for (i=0。i3。i++) fputs(s[i],fp)。 fclose(fp)。 fp=fopen(,r)。 for (i=0。i3。i++) fgets(a[i],n[i],fp)。 for (i=0。i3。i++) printf(%s\n,a[i])。 fclose(fp)。 } 運行結(jié)果: C pascal ada 第十一章 文件 ? 數(shù)據(jù)塊讀寫函數(shù) —— fread和 fwrite 該函數(shù)是用來從指定文件中讀取一組數(shù)據(jù)。它的說明形式如下: int fread(char *buf,int size,int n,FILE *fp)。 它的調(diào)用形式是: fread(buf,size,n,fp)。 其中, buf是一指針,用來指向數(shù)據(jù)塊在內(nèi)存中的起始地址; size表示一個數(shù)據(jù)項的字節(jié)數(shù); n是要讀取的數(shù)據(jù)項的個數(shù); fp為文件指針。 例如,要從某個文件中讀取 10個 float型數(shù)據(jù),存放到buf所指向的存儲區(qū),可以寫成: fread(buf,sizeof(float),10,fp)。 第十一章 文件 該函數(shù)是將一組數(shù)據(jù)寫到指定的文件中。它的說明形式如下: int fwrite(char *buf,int size,int n,FILE *fp)。 它的調(diào)用形式是: fwrite(buf,size,n,fp)。 其中, buf、 size、 n、 fp這些參數(shù)同 fread函數(shù)。該函數(shù)是將 buf所指向的緩沖區(qū)或數(shù)組內(nèi)的 n個數(shù)據(jù)項 (每個數(shù)據(jù)項有 size個字節(jié) )寫到 fp所指向的文件中。函數(shù)調(diào)用正常返回實際寫入的數(shù)據(jù)項數(shù)。 第十一章 文件 例 (1) 編寫一程序,從鍵盤上輸入 10個實數(shù),并存入 中。 include include void main() { int i。 float data[10]。 FILE *fp。 for (i=0。i10。i++) scanf(%f,amp。data[i])。 if ((fp=fopen(,wb))==NULL) { printf(Cannot open file .\n)。 exit(1)。 } fwrite(data,sizeof(float),10,fp)。 fclose(fp)。 } 第十一章 文件 例 (2) 編一程序,將磁盤文件 10個數(shù)據(jù)讀入內(nèi)存,并在顯示器屏幕上顯示出來。 include include void main() { int i。 float data[10]。 FILE *fp。 if ((fp=fopen(,rb))==NULL) { printf(Cannot open file .\n)。 exit(1)。 } fread(data,sizeof(float),10,fp)。 fclose(fp)。 for (i=0。i10。i++) printf(%f\n,data[i])。 } 第十一章 文件 ? 格式化讀寫函數(shù) —— fscanf和 fprintf fscanf函數(shù)的一般調(diào)用形式如下: fscanf(fp,格式控制字符串,輸入表 )。 其中, fp是文件指針,格式控制字符串和輸入表的說明與 scanf函數(shù)中的格式控制字符串和輸入表說明相同。該函數(shù)是從 fp所指的文件中,按照格式控制字符串規(guī)定的輸入格式給輸入表中各輸入項地址賦值。例如: fscanf(fp,%d%f,amp。a,amp。x)。 表示從 fp所指向的文件中,按照“ %d、 %f” 格式分別為變量 a和 x讀入數(shù)據(jù)。 第十一章 文件 fprintf函數(shù)調(diào)用的一般格式如下: fprintf(fp,格式控制字符串,輸出表 )。 其中, fp是文件指針,其它參數(shù)說明與 printf函數(shù)的參數(shù)說明相同。該函數(shù)是將輸出表中各表達式的值,按格式控制字符串中指定的格式寫到 fp所指的文件中。例如: fprintf(fp,a=%d,x=%f\n,a,x)。 表示將整型變量 a和實型變量 x的值,按雙引號內(nèi)的格式輸出到 fp所指的文件中。 第十一章 文件 例 編寫一個程序,使用 fscanf和 fprintf函數(shù)從鍵盤上輸入一字符串和一個整數(shù)并寫到一個磁盤文件中,然后再將它們從文件中讀出顯示在屏幕上。 include include void main() { char *str。 int a。 FILE *fp。 if ((fp=fopen(,w))==NULL) { printf(Cannot open file.\n)。 exit(1)。 } 第十一章 文件 fscanf(stdin,%s%d,str,amp。a)。 fprintf(fp,%s\t%d,str,a)。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1