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

正文內(nèi)容

[工學(xué)]c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)與實(shí)訓(xùn)教程第10章:文件(編輯修改稿)

2025-02-15 11:03 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 件 */ ? fclose(fp2)。 ? } 2.字符串輸入輸出函數(shù) fgets和 fputs fgets 函數(shù)的調(diào)用形式為: fgets(字符數(shù)組名, n,文件指針 ); 其中, n是一個(gè)正整數(shù)。函數(shù)的功能是從指定的文件中讀入 n1個(gè)字符,然后在最后加一個(gè)’ \0’字符,因此得到的字符串共有 n個(gè)字符,把它們放到字符數(shù)組中。如果在讀完 n1個(gè)字符之前遇到換行符或EOF,讀入即結(jié)束。 fgets函數(shù)返回值為字符數(shù)組的首地址。 fputs函數(shù)的調(diào)用形式為: fputs(字符串,文件指針 )。 其中,字符串可以是字符串常量,也可以是字符數(shù)組名或指針變量。函數(shù)的功能是向指定的文件輸出一個(gè)字符串。 3.格式化輸入輸出函數(shù) fscanf和 fprintf fscanf函數(shù)的調(diào)用形式為: fscanf(文件指針,格式控制字符串,輸入表列 )。 其中,文件指針指向?qū)⒁x取數(shù)據(jù)的文件,格式控制字符串和輸入表列的內(nèi)容、含義及對(duì)應(yīng)關(guān)系與 scanf函數(shù)相同。 fscanf函數(shù)的功能是從 fp指向的文件中,按格式控制字符串讀取相應(yīng)數(shù)據(jù)賦給輸入列表中的對(duì)應(yīng)變量。 fprintf函數(shù)的調(diào)用形式為: fprintf(文件指針,格式控制字符串,輸出表列 )。 其中,文件指針指向?qū)⒁獙懭霐?shù)據(jù)的文件,格式控制字符串和輸入表列的內(nèi)容、含義及對(duì)應(yīng)關(guān)系與 printf函數(shù)相同。 fprintf函數(shù)的功能是將輸出列表中的各個(gè)變量或常量,依次按格式控制字符串說(shuō)明的格式寫入 fp指向的文件。該函數(shù)調(diào)用的返回值是實(shí)際輸出的字符數(shù)。 二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤上存放 。 用于二進(jìn)制文件讀寫的函數(shù)主要是 fread和 fwrite函數(shù) , 另外 , fget、 fput、 fgets、 fputs也可用于二進(jìn)制文件的讀寫 。 1. fread函數(shù)和 fwrite函數(shù) fread和 fwrite兩個(gè)函數(shù)用于對(duì)整塊數(shù)據(jù)的寫和讀。做寫操作時(shí),整塊數(shù)據(jù)要事先放在內(nèi)存中,例如,存放在一個(gè)數(shù)組中,或是存放在一個(gè)結(jié)構(gòu)變量中,還可以存放在一個(gè)結(jié)構(gòu)數(shù)組中。而做讀操作時(shí),要準(zhǔn)備好接收數(shù)據(jù)的存儲(chǔ)空間,存儲(chǔ)空間的數(shù)據(jù)類型可以是數(shù)組、結(jié)構(gòu)變量或結(jié)構(gòu)數(shù)組等。 文件數(shù)據(jù)塊讀函數(shù) fread fread函數(shù)的調(diào)用形式為: fread(buffer,size,count,fp)。 其中 ,buffer是一個(gè)指針,是指向輸入數(shù)據(jù)存放在內(nèi)存區(qū)的起始地址; size是要輸入的字節(jié)數(shù); count是要輸入大小為size個(gè)字節(jié)的數(shù)據(jù)塊的個(gè)數(shù); fp是文件指針。 fread函數(shù)的功能是對(duì) fp所指向的文件讀取 count次,每次讀取一個(gè)大小為 size的數(shù)據(jù)塊,將讀取的各數(shù)據(jù)塊存到buffer指向的內(nèi)存區(qū)。該函數(shù)的返回值是實(shí)際讀取的 count值。 文件數(shù)據(jù)塊寫函數(shù) fwrite fwrite函數(shù)的調(diào)用形式為: fwrite(buffer,size,count,fp)。 fwrite函數(shù)的參數(shù)及其功能與 fread函數(shù)類似,只是對(duì)文件的操作而言是互逆的,一個(gè)是讀取,一個(gè)是寫入。 ? 例 106 從鍵盤輸入 3個(gè)學(xué)生的數(shù)據(jù),將它們存入文件 student;然后再?gòu)奈募凶x出數(shù)據(jù),顯示在屏幕上。 ? include ? define SIZE 3 ? struct student_type/*定義結(jié)構(gòu) */ ? {char name[10]。 ? int num。 ? int age。 ? char addr[30]。 ? }stud[SIZE],out。 ? void save() ? { ? FILE *fp。 ? int i。 ? if((fp=fopen(“student”,”wb”))==NULL)/*以二進(jìn)制寫方式打開文件 */ ? { ? printf(“Cannot open file.\n”)。/*打開文件的出錯(cuò)處理 */ ? exit(1)。/*出錯(cuò)后返回,停止運(yùn)行 */ ? } ? for(i=0。iSIZE。i++)/*將學(xué)生的信息(結(jié)構(gòu))以數(shù)據(jù)塊形式寫入文件 */ ? if(fwrite(amp。stud[i],sizeof(struct student_type),1,fp)!=1) ? printf(“file write error\n”)。/*寫過(guò)程中的出錯(cuò)處理 */ ? close(fp)。/*關(guān)閉文件 */ ? } ? main() ? { ? FILE *fp。 ? int i。 ? for(i=0。iSIZE。i++)/*從鍵盤讀入學(xué)生的信息(結(jié)構(gòu)) */ ? { ? printf(“Input student %d:”,i+1)。 ? scanf(“%s%d%d%s”,stud[i].name,amp。 stud[i].num,amp。 stud[i].age, stud[i].addr)。 ? } ? save()。/*調(diào)用函數(shù)保存學(xué)生信息 */ ? fp=fopen(“student”,”rb”)。/*以二進(jìn)制讀方式打開數(shù)據(jù)文件 */ ? pr
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1