版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文件的读写文件操作从文件中读字符函数fgetc函数原型:intfgetc(FILE*fp);从文件指针fp指向的文件当前位置(位置指针)读出一个字符,然后文件位置指针自动后移,指向文件中的下一个字符,返回值为读入的字符。若遇到文件结束符,则返回结束符EOF(-1)功能:ch=fgetc(fp);例【例1:】将磁盘文件”mydata.txt”的信息读出并显示到屏幕上。(假设文件已经存在。若不存在,可以用记事本或其它文本编辑器编辑并保存)#include<stdio.h>voidmain(){FILE*fp;//定义文件指针charc;if((fp=fopen(“mydata.txt”,“r”))==NULL) {printf(“\nFilenotexist!”);//如果文件不能成功打开,输出出错提示exit(0);//结束程序运行}while((c=fgetc(fp))!=EOF)//逐个读取文件里的字符,直到遇到结束字符为止putchar(c);//将字符显示在屏幕上fclose(fp);//关闭文件
}向文件写入字符函数fputc函数返回值:输出成功,返回值就是输出的字符;输出失败,返回一个EOF(值为-1)。功能:把一个字符ch写到fp指向的磁盘文件上去函数原型:intfputc(intch,FILE*fp);
FILE*fp;charch=‘A’;…fputc(ch,fp)例【例2:】从键盘输入一些字符存到一个磁盘文件data.txt中,以“#”结束#include<stdio.h>voidmain(){FILE*fp;//定义文件指针charc;if((fp=fopen(“d:\\example\\data.txt”,“w”))==NULL) {printf(“\nFilecannotopen!”);//如果文件不能成功打开,输出出错提示exit(0);//结束程序运行}while((c=getchar())!=‘#’)//连续从键盘输入若干字符,直到遇到#字符为止fputc(c,fp);//将字符写入fp所指向的文件中fclose(fp);//关闭文件}从文件中读字符串函数fgets说明:功能:从指针fp指向的文件中读取len–1个字符,把它送到由指针buf指向的字符数组中函数原型:char*fgets(char*buf,intlen,FILE*fp);字符数组的长度应大于len,可存放len-1个字符,字符数组的最后一个元素为’\0’若在读入len-1个字符前遇到换行符’\n’或文件结束符号EOF,立即结束读入操作将字符串写入文件的函数fputs功能:函数原型:char*fputs(char*buf,FILE*fp);形参buf可以是字符串常量、字符数组名、指针变量把由指针buf指向的字符数组中的字符串写入由指针fp指向的文件中【例3:】从键盘输入字符串存入文件,再从文件读回显示#include<stdio.h>voidmain(){FILE*fp;charstring[81];if((fp=fopen(“file.txt”,“w”))==NULL)//以“写”方式打开文件{printf("cann'topenfile");exit(0);}while(strlen(gets(string))>0)//从键盘上输入字符串
{fputs(string,fp);//将字符串写入文件fputs("\n",fp);}fclose(fp);//关闭文件if((fp=fopen(“file.txt”,“r”))==NULL)//以“读”方式重新打开文件{printf("cann'topenfile");exit(0);}while(fgets(string,81,fp)!=NULL)//从文件中读取一串字符puts(string);//在屏幕上显示字符串
fclose(fp);}按指定格式读写文件的函数fprintf、fscanf调用格式:fscanf(fp,“%d,%f”,&i,&t);//若文件中有3
,
4.5,则将3读出送入变量i,4.5读出送入变量tfprintf(fp,“%d,%6.2f\n”,i,t);//将变量i和t的值按%d,%6.2f格式写入到fp所指向的文件中由于输入输出时要进行ASCII码和二进制形式的转换,费时较多fprintf和fscanf函数对磁盘文件读写;printf和scanf函数对显示器或键盘操作
fscanf(fp,格式字符串,地址列表);fprintf(fp,格式字符串,输出列表);例数据块读写函数fread、fwritebuffer:要读入的数据块的存放首地址或要输出的数据块的起始地址size:每个要读/写的数据块的大小(字节数)count:要读/写的数据块的个数fp:要读/写的文件指针intfread(void*buffer,intsize,intcount,FILE*fp);intfwirte(void*buffer,intsize,intcount,FILE*fp);函数原型:参数说明:fread与fwrite一般用于二进制文件的输入/输出【例4:】从键盘输入4个学生的数据,然后转存到磁盘上,并在屏幕上显示磁盘文件的内容#include<stdio.h>#defineSIZE10structstudent{charname[10];intnum;intage;charaddr[20];};voidmain(){voidsave(structstudent);//声明函数原型voiddisplay(structstudent);
//声明函数原型structstudentst[SIZE];
for(i=0;i<SIZE;i++)scanf("%s%d%d%s",st[i].name,&st[i].num,&st[i].age,st[i].addr);
save(st);
//调用函数savedisplay(st);
//调用函数display}voidsave(structstudentstud){FILE*fp;inti;if((fp=fopen("d:\\stu_list.dat","wb"))==NULL){printf("cannotopenfile\n");return;}for(i=0;i<SIZE;i++)if(fwrite(&stud[i],sizeof(structstudent),1,fp)!=1)
printf("filewriteerror\n");
fclose(fp);}voiddisplay(structstudentstud){FILE*fp;inti;if((fp=fopen("d:\\stu_list.dat","rb"))==NULL){printf("cannotopen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 徐州矿务集团有限公司 校园招聘农业考试参考题库及答案解析
- 2026山东临沂市沂水县技工学校招聘教师8人农业考试模拟试题及答案解析
- 2026广西百色市西林县商务工作中心招聘编外聘用人员2人农业考试备考试题及答案解析
- 2026重庆卡福汽车制动转向系统有限公司招聘1人农业考试模拟试题及答案解析
- 2026四川雅安市名山区茗盛工业发展集团有限公司下属子公司招聘4人农业考试模拟试题及答案解析
- 2026北京航空航天大学幼儿园聘用编教师招聘1人农业考试参考题库及答案解析
- 2026年六安市金安区消防救援局公开招聘聘用制员额消防员农业笔试备考题库及答案解析
- 2026江苏泰州市姜堰区国有企业选聘青年人才20人农业考试模拟试题及答案解析
- 智研咨询发布:中国医用重组胶原蛋白行业市场现状及投资前景分析报告
- 广东佛山顺德区伦教汇贤实验学校2026届毕业生招聘教师(第三批)2人农业笔试参考题库及答案解析
- 雷雨-剧本原文-高中语文雷雨剧本原文
- 非斜视性双眼视异常
- 高考专题复习:开放性情景默写题+专练+
- 鲁科版小学英语四年级下学期期中检测题
- 贵州电信金阳枢纽楼BIM应用
- 2023年福建泉州市永春县城市建设集团有限公司招聘笔试题库含答案解析
- 上海钢结构厂房主体结构工程监理质量评估报告
- 蛇咬伤的救治
- GB/T 29302-2012无损检测仪器相控阵超声检测系统的性能与检验
- 第12章 科技论文的同行评议
- 哈工大招生宣传ppt
评论
0/150
提交评论