练习fwrite()和fread()函数的使用 方法。

fwrite()函数的作用是将一个长度为29字节的数据块送到文件中(一个student_type类型结构体变量的长度为它的成员长度之和,即10+2+2+15=29)

代码

#include<stdio.h>
#define SIZE 2
#define LEN sizeof(struct student_type)

struct student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];

void save()
{
FILE *fp;
int i;
if((fp=fopen("test","wb"))==NULL)
{
printf("无法打开文件\n");
exit(1);
}
for(i=0;i<SIZE;i++)
if(fwrite(&stud[i],LEN,1,fp)!=1)
printf("文件写入失败。\n");

fclose(fp);
}

void input()
{
int i;
printf("姓名\t学号\t年龄\t地址\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
}

void output()
{
FILE *fp;
int i;
if((fp=fopen("test","rb"))==NULL)
{
printf("无法打开文件\n");
exit(1);
}

for(i=0;i<SIZE;i++)
{
fread(&stud[i],LEN,1,fp);
printf("%-10s %4d %4d %-15s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}

fclose(fp);

}

void main()
{
input();
save();
output();
}

从键盘输入4个学生的有关数据,然后把它们保存到磁盘文件中,最后从磁盘文件中读取数据输出到屏幕...相关推荐

  1. ACMNO.44 C语言-平均分 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

    题目描述 有N个学生,每个学生的数据包括学号.姓名.3门课的成绩, 从键盘输入N个学生的数据, 要求打印出3门课的总平均成绩,以及最高分的学生的数据 (包括学号.姓名.3门课成绩) 输入 学生数量N占 ...

  2. C语言:从键盘输入10个学生的成绩存储在数组中,求成绩最高者的序号和成绩

    /*从键盘输入10个学生的成绩存储在数组中,求成绩最高者的序号和成绩*/ #include <stdio.h> int main(){int i,n=1;float max,grade[1 ...

  3. 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

    1051: 有N个学生,每个学生的数据包括学号.姓名.3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号.姓名.3门课成绩) #include< ...

  4. 从键盘输入50个学生数据,打印出每门课的平均成绩

    有50个学生,每个学生的数据包括学号.姓名.3门课的成绩,从键盘输入50个学生数据,要求打印出每门课的平均成绩,以及三门课总分最高的学生的数据(包括学号.姓名.3门课的成绩,三门课的总分). #inc ...

  5. C语言:有十个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)

    题目:有十个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程的总平均成绩,以及最高分的学生的数据(包括学号.姓名.3门课程成绩.平均分数). 根据题目要求 ...

  6. 【c语言入门】有10个学生,每个学生的数据包含学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求打印输出3门课程的总平均成绩。

    题目:有10个学生,每个学生的数据包含学号.姓名.3门课的成绩,从键盘输入10个学生的数据,要求打印输出3门课程的总平均成绩. #include <stdio.h> #define N 3 ...

  7. 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据 要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩)

    /*有10个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据 要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号.姓名.3门课程成绩)*/#include < ...

  8. 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。

    有10个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号.姓名.3门课程成绩.平均分数). 方法一: #inc ...

  9. (C语言)有10个学生,每个学生的数据包括学号,姓名,3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号,姓名,3门课程成绩,平均分数)

    有10个学生,每个学生的数据包括学号,姓名,3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号,姓名,3门课程成绩,平均分数) #define _C ...

  10. 习题 9.5 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。

    C程序设计(第四版) 谭浩强 习题9.5 个人设计 习题 9.5 有10个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数 ...

最新文章

  1. 浅谈分布式计算的开发与实现(一)
  2. 论文简述 | TextSLAM:具有平面文本特征的视觉SLAM
  3. 最小二乘法MSE 梯度下降法
  4. Laravel - Artisan 个人常用总结
  5. 怎么使用config?
  6. Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
  7. Android容器相关开发实践
  8. 信息学奥赛一本通 1099:第n小的质数 | OpenJudge NOI 1.5 44
  9. UI设计素材模板|表单的临摹学习技巧
  10. 何恺明“终结”ImageNet预训练时代:从0开始训练神经网络,效果比肩COCO冠军
  11. [POI2006]Tet-Tetris 3D
  12. linux ping raw socket -(signal),***之旅――原始套接字(Raw Socket)透析(3)--用Raw Socket实现Ping...
  13. Java在线反编译网站
  14. 【ATSC】【OTT】Netflix将作为美国有线机顶盒界面中的一个频道
  15. Python自省(反射)详解
  16. MySQL常用语句(二)
  17. Qt与Matlab混合编程中mwArray数组使用详解
  18. 关于XShell下载安装和连接Ubuntu(linux)
  19. Unity中实现使用Gizmo绘制出攻击范围
  20. HTML5系列代码:模仿杂志的多列版式

热门文章

  1. Java中/r和/n的区别
  2. SQLServer特殊字符/生僻字与varchar
  3. gedit emacs
  4. 把java文件打包成.jar (jar命令详解)
  5. POJ2342-Anniversary party-树形DP入门
  6. activiti no processes deployed with key
  7. A simple Test Client built on top of ASP.NET Web API Help Page
  8. Greenplum Hadoop分布式平台大数据解决方案实战教程
  9. [华为机试真题][2014]62.去除重复字符并排序
  10. 从零开始学建站-主机篇