C 语言中fread()和fwrite()用法
来源:互联网 发布:软件系统 架构 编辑:程序博客网 时间:2024/05/17 06:11
C 语言中的fread 和fwrite 一般是成对出现的,它们一般用来读写一个字符,也可以用来读写一个字符串,还可以用来读取一组数据.
用法:
fread(指向数据的指针,数据块的大小,要读取的数据块数目,文件指针)
e.g:
fread(rp,size,n,fp)如果读取成功,返回值应该为nrp指的是要读取的数据的首地址,size 是要读取的数据块的(字节数)大小,n表示要读取的数据块数目,fp指的是指向要读取的文件的指针
用法:
fwrite(指向数据的指针,数据块大小,要写入的数据块数目,文件指针)
e.g:
fwrite(wp,size,n,fp)wp指的是要写的数据首地址,其他参数如fread参数
代码:
/* fread() 和 fwrite() 用法*/#include<stdio.h>#include<stdlib.h>struct student{ char num[6]; char name[8]; int score[3]; double avr;}stu[3];int main(){ int i,j,sum; FILE *fp; for(i=0;i<3;i++) { printf("请输入第%d个学生个人信息:\n",i+1); printf("学号: "); scanf("%s",stu[i].num); printf("姓名: "); scanf("%s",stu[i].name); sum=0; for(j=0;j<3;j++) { printf("请输入第%d门课的分数:",j+1); scanf("%d",&stu[i].score[j]); sum+=stu[i].score[j]; } stu[i].avr=sum/3.0; printf("品均分数: %f",stu[i].avr); } fp=fopen("TEXT.txt","w"); for(i=0;i<3;i++) { if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) printf("写入错误\n"); } fclose(fp);/* 读取 */ fp=fopen("TEXT.txt","r"); if(fp==NULL) { printf("文件打开失败!"); exit(1); } printf("读取数据如下:\n"); for(i=0;i<3;i++) { printf("读取第%d个学生信息如下:\n",i+1); if(fread(&stu[i],sizeof(struct student),1,fp)!=1) printf("读取失败!"); printf("学号: %s\n",stu[i].num); printf("姓名: %s\n",stu[i].name); for(j=0;j<3;j++) { printf("第%d门成绩: %d\n",j+1,stu[i].score[j]); } printf("平均成绩: %f\n",stu[i].avr); printf("-------------------\n"); } fclose(fp); return 0;}
结果:
请输入第1个学生个人信息:
学号: 123
姓名: kas
请输入第1门课的分数:12
请输入第2门课的分数:32
请输入第3门课的分数:45
品均分数: 29.666667请输入第2个学生个人信息:
学号: 222
姓名: des
请输入第1门课的分数:22
请输入第2门课的分数:44
请输入第3门课的分数:22
品均分数: 29.333333请输入第3个学生个人信息:
学号: 564
姓名: light
请输入第1门课的分数:32
请输入第2门课的分数:45
请输入第3门课的分数:78
品均分数: 51.666667读取数据如下:
读取第1个学生信息如下:
学号: 123
姓名: kas
第1门成绩: 12
第2门成绩: 32
第3门成绩: 45
平均成绩: 29.666667
读取第2个学生信息如下:
学号: 222
姓名: des
第1门成绩: 22
第2门成绩: 44
第3门成绩: 22
平均成绩: 29.333333
读取第3个学生信息如下:
学号: 564
姓名: light
第1门成绩: 32
第2门成绩: 45
第3门成绩: 78
平均成绩: 51.666667
0 0
- C 语言中fread()和fwrite()用法
- C语言中fread(),fwrite(),fseek()用法和功能
- Linux C 语言中fread()与fwrite()用法
- 关于c语言中fread和fwrite的使用
- C语言中的fread和fwrite
- C语言fwrite()函数和fread()函数
- C语言: fwrite和fread函数的用法小结 (网上摘抄,方便以后查询)
- C语言函数fread() , fwrite() ,fseek()用法分析
- fread和fwrite用法详解
- fread和fwrite用法详解
- fread 和 fwrite用法小结
- fread()和fwrite()函数用法
- C 语言 fwrite 和 fread 文件读写操作示例
- C语言数据块读写函数:fread和fwrite
- C语言数据块读写函数:fread和fwrite
- c语言fwrite和fread连续读写文件流
- C语言的二进制IO函数fread()和fwrite()
- 二进制文件和文本文件究竟有什么区别?(内附小实验和C语言中fwrite fread fprintf fscanf函数的用法)
- 初窥keras
- 微信小程序Canvas增强组件—WeZRender
- Qt框架浅析之四 ------ 界面单继承QWidget
- RabbitMQ(四)消息确认(发送确认,接收确认)
- 【九度】题目1065:输出梯形
- C 语言中fread()和fwrite()用法
- bzoj 4568: [Scoi2016]幸运数字 (高斯消元求解线性基)
- 怎么使文字超出div之后自动隐藏并用点显示
- 平衡二叉树——如何实现不平衡二叉树到平衡二叉树
- U3D 代码中旋转NGUI中texture
- 五种查找算法总结
- Android界面,标题的去除
- msm8916 dt选用规则
- 在学中思,在思中学