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

正文內(nèi)容

大學計算機程序設(shè)計基礎(chǔ)c語言4ppt(編輯修改稿)

2024-11-14 13:22 本頁面
 

【文章內(nèi)容簡介】 ? 函數(shù)原型: int fgetc( FILE * fp )。 ? 功能 從 fp指向的文件中讀取一個字符,同時將讀寫位置指針向前移動 1個字節(jié) A S C I I = E O F ???讀 取 字 符 的 碼 操 作 成 功返 回 值出 錯 或 遇 到 文 件 結(jié) 束函數(shù) fgetc和 fputc的形式是: : fputc ? 函數(shù)原型 int fputc( int ch, FILE * fp )。 ? 功能 把字符 ch寫入 fp指向的文件,同時將讀寫位置指針向前移動 1個字節(jié)。 ???出錯操作成功碼所寫字符的返回值 E O F A S CI I = 例 創(chuàng)建某文本文件的副本 , 副本文件要有行號 include include define SIZE 256 void main(int argc, char *argv[]){ /* 執(zhí)行方式:可執(zhí)行文件名 源文件名 目標文件名 */ FILE *inputfile; /*源文件指針 */ FILE *outputfile。 /* 目標文件指針 */ char ch。 int line=1。 if(argc!=3){ /*參數(shù)個數(shù)不對 */ printf(the number of arguments not correct\n)。 printf(\n Usage: 可執(zhí)行文件名 sourcefile destfile\n)。 exit(0)。 /*退出 */ } … … … … … … … … … … … … 運行結(jié)果演示 … … … … … … … … … … … … if ((inputfile=fopen(argv[1],r))==NULL){ /*打開源文件失敗 */ printf(can not open source file\n)。 exit(0)。 } if ((outputfile=fopen(argv[2],w))==NULL){ /*創(chuàng)建目標文件失敗 */ printf(can not create destination file\n)。 exit(0)。 } /* 復制 */ fprintf( outputfile, %5d, line )。 /*寫入第一行行號 */ while(( ch=fgetc(inputfile))!=EOF){ fputc( ch,outputfile )。 /* 寫入當前字符 */ if ( ch==39。\n39。 || ch==39。\r39。 ) fprintf( outputfile, %5d, ++line )。 /*寫入行號,行號增 1*/ } fclose(inputfile)。 /*關(guān)閉源文件 */ fclose(outputfile)。 /*關(guān)閉目標文件 */ } 1. 讀字符串 ? 函數(shù)原型: char *fgets( char *str , int num , FILE * fpointer )。 ? 功能: – 從 fpointer指向的文件中讀取一個字符串,并將此串保存在 str指向的字符數(shù)組中。 – 字符串的自然結(jié)束符是 “ 換行符 ” 和 “ 文件結(jié)束符 ” 。 – 若讀到 num1 個字符后還沒遇到結(jié)束符,則也強制結(jié)束,這時把 num1 個讀入的字符送入數(shù)組 str 中。 – 讀入結(jié)束后,在數(shù)組 str的字符串末尾加字符串終止字符 NULL; – 并將文件讀寫位置指針向前移動實際讀取的字節(jié)個數(shù) ???否則操作成功所指的字符數(shù)組首地址返回值 = NU L Ls t r167。 字符串讀寫 例 創(chuàng)建某文本文件的副本 , 副本文件要有行號 例 I/O函數(shù) fgets和 fputs,編出更簡潔的程序。假設(shè)源文件每行最長不超過 256個字符。編出程序如下(省略了與前一個程序相似的部分): … … … … … … … … … … … … define SIZE 256 void main(int argc, char *argv[]){ … … … … … … … … … … … … while(fgets(buf,SIZE,inputfile )!=NULL){ /*復制源文件到目標文件中 */ fprintf( outputfile , %5d, line++ )。 /*寫入行號,行號增 1*/ fputs(buf,outputfile)。 /*寫入字符串 */ } … … … … … … … … … … … … } 讀 /寫字符串時,使用 fgets()和 fputs()函數(shù)。 167。 字符串讀寫 運行結(jié)果演示 1. 讀字符串 :fgets ? 函數(shù)原型: char *fgets( char *str , int num , FILE * fpointer )。 ? 功能: – 從 fpointer指向的文件中讀取一個字符串,并將此串保存在 str指向的字符數(shù)組中。 – 字符串的自然結(jié)束符是 “ 換行符 ” 和 “ 文件結(jié)束符 ” 。 – 若讀到 num1 個字符后還沒遇到結(jié)束符,則也強制結(jié)束,這時把 num1 個讀入的字符送入數(shù)組 str 中。 – 讀入結(jié)束后,在數(shù)組 str的字符串末尾加字符串終止字符 NULL; – 并將文件讀寫位置指針向前移動實際讀取的字節(jié)個數(shù) ???否則操作成功所指的字符數(shù)組首地址返回值 = NU L Ls t r : fputs ? 函數(shù)原型 int *fputs( char *str , FILE * fpointer )。 ? 功能: 把 str所指字符串(不包括字符串結(jié)束符 NULL)寫入 fpointer指向的文件 , 同時將讀寫位置指針向前移動 num(字符串長度)個字節(jié)。 ???否則操作成功非負值返回值 = E O F167。 格式化讀寫 例 、例 fprintf( output, %5d, line++ )。 把整數(shù)從內(nèi)部數(shù)據(jù)翻譯成 ASCII字符數(shù)據(jù)輸出。 把內(nèi)部數(shù)據(jù)信息翻譯成 ASCII字符串寫入文件,或把文件中的 ASCII字符串翻譯后讀入,使用 fscanf()和 fprintf()函數(shù),稱為格式化 “ 輸入 ” 、 “ 輸出 ” 。 函數(shù) fscanf()和 fprintf()與函數(shù) scanf()和 printf()的功能相似,區(qū)別在于函數(shù) fscanf()和 fprintf()操作對象是一般文件,而 scanf()和 printf()操作對象是標準輸入輸出文件。格式化讀寫是把數(shù)據(jù)按 fscanf()和 fprintf()函數(shù)中格式控制字符串中控制字符的要求進行轉(zhuǎn)換,然后再進行讀寫。格式轉(zhuǎn)換在第三章的 。 1. 格式化輸入 : fscanf ? 函數(shù)原型: int fscanf( FILE * fp , char * format , arg_list ); ? 功能: 從 fp所指文件,按 format規(guī)定的格式進行轉(zhuǎn)換,讀取arg_list對應的數(shù)據(jù) ???否則一個負數(shù)操作成功實際讀取的參數(shù)個數(shù)返回值 = 2. 格式化輸出 :fprinf ? 函數(shù)原型 int fprinf( FILE * fp , char * format , arg_list )。 ? 功能 將 arg_list內(nèi)的各參數(shù)值按 format格式進行轉(zhuǎn)換,輸出到 fp所指的文件。 ???否則一個負數(shù)操作成功實際寫入的參數(shù)個數(shù)返回值 = 例 在磁盤中建立一個正弦函數(shù)表文件“ ” 格式如下: THE LIST OF SIN(X) a SIN(a) a SIN(a) a SIN(a) a SIN(a) a SIN(a) 0 1 2 3 4 5 6 7 8 9 ... ... 到 359176。 為止 開始 打印表頭 for( v=0。 v=71。 v++) 寫 ( fp , v*5+u , sin((v*5+u) *π/180) ) for( u=0。 u=4。 u++) 寫 (fp,”\n”) 結(jié)束 void main(){ int u,v。 FILE *f。 if (( f=fopen(“”,w))==NULL){ /*打開文件 */ printf(can not open file \\\n)。 exit(0)。 } fprintf( f , %20c THE LIST OF SIN(X)\n , 39。 39。 ) 。 /* 表頭 */ fprintf( f , %5s %7s%5s %7s%5s %7s%5s %7s%5s %7s\n ,a,SIN(a),a,SIN(a),a,SIN(a) ,a,SIN(a),a,SIN(a) ) 。 for ( v=0。 v=71。 v++ ) { /* 表體 */ for ( u=0。 u=4。 u++ ) fprintf(f,“%5d ”,v*5+u,sin((v*5+u)*PAI/180))。 fprintf(“\n”)。 } fclose(f)。 } 在該例題中,語句 fprintf(f,“%5d %” ,v*5+u,sin((v*5+u)*PAI/180 )。 不斷向文件寫入數(shù)據(jù)信息,文件是 ASCII字符文件。數(shù)據(jù)從內(nèi)部二進制形式翻譯成 ASCII字符形式輸出到文件上。 運行結(jié)果演示 例 設(shè)磁盤上有兩個 text 文件, ?; ? 的家庭地址。 編一個程序,在磁盤上生成一個姓名、地址、電話號碼表文件 ,其中每個人的電話號碼在終端上隨機錄入。 該程序總體上一個人一個人的處理。對每個人來講: 初始化文件 NAME未結(jié)束 結(jié)束 開始 處理一個人的信息 1. 先從 ;然后從 ; 2. 然后在終端屏幕上顯示正處理的人員姓名,要求操作員 鍵入其電話號碼,并讀入該電話號碼; 3. 最后把姓名、地址、電話號碼作為一行送入文件 。 讀 NAME = name0 。 ADDRESS = addr 顯示 name0 讀入電話號碼 = tel name0、 addr、 tel寫入文件 void main(){ FILE *name。 /*名字源文件指針 */ FILE *address。 /*地址源文件指針 */ FILE *nameaddr。 /*目標文件指針 *
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1