C语言fread函数和fwrite函数的用法及其实例

上传人:cn****1 文档编号:512071298 上传时间:2022-09-13 格式:DOC 页数:4 大小:26.50KB
返回 下载 相关 举报
C语言fread函数和fwrite函数的用法及其实例_第1页
第1页 / 共4页
C语言fread函数和fwrite函数的用法及其实例_第2页
第2页 / 共4页
C语言fread函数和fwrite函数的用法及其实例_第3页
第3页 / 共4页
C语言fread函数和fwrite函数的用法及其实例_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言fread函数和fwrite函数的用法及其实例》由会员分享,可在线阅读,更多相关《C语言fread函数和fwrite函数的用法及其实例(4页珍藏版)》请在金锄头文库上搜索。

1、C语言fread函数和fwrite函数的用法及其实例C语言fpintf、fscanf函数与printfscanf函数作用相仿,都是格式化读写函数。只有一点不同:fprintf函数和fscanf函数的读写对象不是终端而是磁盘文件,一般调用方式为fprlntf(文件指针,格式化化字符串,输出列表);fscanf(文件指针,格式化字符串,输入表列);例如:fprintf(fp,n%dz%6.2nzizt);它的作用是将整形变量i和实型变量t的值按%d和%6.2f的格式输出到fp指向的文件上。用fprintf和fscanf函数对磁盘文件进行读写,使用很方便,易于理解,但在输入时要将ASCII码转换为二

2、进制形式,在输出时又要将二进制形式转换成字符,花费的时间比较多。因此.在内存与磁盘文件频繁交换的情况下最好用fread和fwrite函数。putw和getw函数用來対磁盘文件读写一个字。如:putw(10,fp):作用是将整数10输出到fp所指的向的文件。这两函数的定义如F:putw函数:intputw(inti,FILE*fp)char*s;intcount;s=(char*)&i;for(count=0;countsizeof(int);count+)putc(scount,fp);return(i);intgetw(FILE*fp)char*s;inti,count;s=(char*)&

3、i;/是s指向i的起始地址for(count=0;countsizeof(int);count+)scount=getc(fp);return(i);voidgetfloat(floatnum,FILE*fp)char*s;intcount;s=(char*)#for(count=0;count4;count+)putc(scountzfp);C语言中,用getc和putc函数可以对读写文件中的一个字符。但常常要求一次读入一组数据,ANSIC标准提出设置两个函数(fread和fwrite),用来读写一个数据块,它的一般调用形式为fread(buffer,size,count,fp);f

4、write(buffer,size,count,fp);其中:buffer:是一个指针。对fread來说,它是读入数据的存放地址。对fwrite來说,是耍输出数据的地址(是指起始地址)。size:是要读写的字节数。count:是要进行读写多少个size字节的数据项。fp:文件指针。如果文件二进制形式打开,用fread和fwrite函数就可以读写任何类型的信息。下面是一个完整的例子从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件上去,接着把它们输出到终端。#include#include#defineSIZE4structstudent_typecharname20;intnum;inta

5、ge;charaddr15;studSIZE;voidsave()FILE*fp;inti;if(fp=fopen(nD:stu_listnwbn)=NULL)printf(ncannotopenfilenlf);exit(1);for(i=0;iSIZE;i+)if(fwrite(&studi,sizeof(structstudent_type),lzfp)!=1)printf(,ffilewriteerror.n,f);fclose(fp);voidmain()printf(sizeof(structstud)=%dn,fzsizeof(student_type);printf(nPlea

6、seinputthe4studentinformation,includingname,num,age,addressnn);inti;for(i=0;iSIZE;i+)scanf(H%s%d%d%slfzstudiname,&studi.num,&studi.age,studi.addr);save();printf(lfnTheinformationofthe4studentsis:nn);FILE*fp;fp=fopen(nD:stu_list.txt11znrb,f);for(i=0;iSIZE;i+)fread(&studi,sizeof(structstudent_type),lffp);printf(lf%-10s%4d%4d%-15snHstudiname,studinum,studi.age,studiaddr);fclose(fp);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号