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

正文內容

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

2025-10-07 16:01本頁面
  

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