第十三章 文件_488308709
* 13.4 文件的读写 验证在磁盘文件“stu-list”中是否已存在此数据, 用以下程序从“stu-list”文件中读入数据,然后在 屏幕上输出。 #include stdio.h #define SIZE 4 struct student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; main( ) { int i; FILE*fp; fp=fopen(stu-list,rb); for(i=0;iSIZE;i++) {fread(stud[i],sizeof(struct student_type),1,fp); printf(%-10s %4d %4d %-15s\n,stud[i].name, stud[i].num,stud[i]. age,stud[i].addr); } fclose (fp);} 屏幕上显示出以下信息: Zhang 1001 19 room-101 Fun 1002 20 room-102 Tan 1003 21 room-103 Ling 1004 21 room-104 * 13.4 文件的读写(续) 如果已有的数据已经以二进制形式存储在一个磁盘文件 “stu-dat”中,要求从其中读入数据并输出到 “stu-list”文件中,可以编写一个load函数, 从磁盘文件中读二进制数据。 void load( ) {FILE *fp;int i; if((fp=fopen(stu-dat,rb))==NULL) { printf(cannot open infile\n); return;} for(i=0;iSIZE;i++) if(fread(stud[i],sizeof(struct student_type),1,fp)!=1) { if(feof(fp)) {fclose(fp); return;} printf(file read error\n); } fclose (fp); } * 13.4 文件的读写(续) 三、格式化读写函数(fprintf()和fscanf()) 函数调用: fprintf ( 文件指针,格式字符串,输出表列); fscanf ( 文件指针,格式字符串,输入表列); 函数功能: 从磁盘文件中读入或输出字符。 例: fprintf(fp,”%d,%6.2f”,i,t); fscanf (fp,”%d,%f”,i,t); 注意: 用fprintf和fscanf函数对磁盘文件读写,使用方便,容易理解, 但由于在输入时要将ASCII码转换为二进制形式,在输出时又要 将二进制形式转换成字符,花费时间比较多。因此,在内存与磁 盘频繁交换数据的情况下,最好不用fprintf和fscanf函数,而 用fread和fwrite函数。 * 13.4 文件的读写(续) 三、其他读写函数 putw()和getw() 函数调用: putw(int i,FILE * fp); int i = getw(FILE * fp); 函数功能: 对磁盘文件中读写一个字(整数)。 例: putw(10,fp); i = getw(fp); getw函数定义如下: getw(int i, FILE *fp) { char * s; s=(char*)i; s[0] = getc(fp); s[1] = getc(fp); return i; } 非标准函数,不要受干扰 * 13.4 文件的读写(续) 用户自定义读取其他类型数据的函数。 向磁盘文件写一个实数(用二进制方式)的函数putfloat : putfloat(float num,FILE *fp) { char * s; int count; s = (char*)num; for(count = 0;count 4;count++) putc(s[count],fp); } 如何用 fwrite 实现这个功能? putfloat(float num,FILE *fp) { fwrite(num,sizeof(float),1,fp); } * 13.4 文件的读写(续) fgets函数 函数作用: 从指定文件读入一个字符串。 函数调用: fgets(str,n,
您可能关注的文档
- 《我国的珍稀动物》概要.ppt
- 第六章放大电路中的反馈.ppt.ppt
- 第六章物体运动间接描述方法.ppt
- 第六章溶液热力学基础9-20121218.ppt
- 第六章第4节《灯泡的电功率》-教科版_九年级物理课件.ppt
- 第六章平面直角坐标.ppt
- 第六章液压阀(概述).ppt
- 第六章轮系及其设计aa.ppt
- 第六章第4节:超重与失重.ppt
- 第六章质量及密度复习课件2.ppt
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
最近下载
- 西安交通大学《算法设计与分析》2023-2024学年期末试卷.doc VIP
- 最新北师大版小学数学三年级下册全册教案【优质】 .pdf VIP
- 08SG213-1:钢烟囱(自立式30~60m).pdf VIP
- 人教版数学二年级下册全册课件(2025年).ppt
- 药品综合强光稳定性试验箱操作保养规程.docx VIP
- (2025春新版本)教科版一年级下册科学全册教案.docx
- X射线衍射分析技术.ppt VIP
- 冶金工程:钒钛磁铁矿非高炉冶炼与钛渣综合利用技术进展.docx VIP
- 《强光稳定性试验箱》.pdf VIP
- 湖北汽车工业学院《电工与电子技术》2025 - 2026学年第一学期期末试卷(全网独发).docx VIP
原创力文档

文档评论(0)