用二进制方式向文件读写一组数据

server/2024/12/25 22:08:08/

【例10.4】从键盘输入10个学生的有关数据,然后把它们转存到磁盘文件上去。 

#include<stdio.h>
struct Student{char name[20];int number;int age;
};
int main(){int i;struct Student stu;FILE *fp;fp = fopen("1.txt","wb");if(fp == NULL){printf("文件不存在!");return -1;}for(i=0;i<10;i++){scanf("%s %d %d",stu.name,&stu.number,&stu.age);fwrite(&stu,sizeof(stu),1,fp);}return 0;
}

输入: 

刘一 1001 18
陈二 1002 19
张三 1003 20
李四 1004 30
王五 1005 40
赵六 1006 41
孙七 1007 23
周八 1008 25
吴九 1009 27
郑十 1010 28

从1.txt文件中读入数据,然后在屏幕上输出。

第一种:数据读入到结构体

int main(){struct Student stu;FILE *fp;int i;fp = fopen("1.txt","rb");if(fp == NULL){printf("文件不存在!");return -1;}for(i=0;i<10;i++){fread(&stu,sizeof(stu),1,fp);printf("%s %d %d\n",stu.name,stu.number,stu.age);}return 0;
}

第二种:数据读入到结构体数组中

int main(){struct Student stus[10];FILE *fp;int i;fp = fopen("1.txt","rb");if(fp == NULL){printf("文件不存在!");return -1;}fread(stus,sizeof(struct Student),10,fp);for(i=0;i<10;i++){printf("%s %d %d\n",stus[i].name,stus[i].number,stus[i].age);}return 0;
}

【例10.6】在磁盘文件上存有10个学生的数据。要求将第1,3,5,7,9个学生数据输入计算机,并在屏幕上显示出来。

int main(){struct Student stus[10];int i;FILE *fp;fp = fopen("1.txt","rb");if(fp == NULL){printf("文件不存在!");return -1;}for(i=0;i<5;i++){fread(&stus[i],sizeof(struct Student),1,fp);	fseek(fp,sizeof(struct Student),SEEK_CUR);}for(i=0;i<5;i++){printf("%s %d %d\n",stus[i].name,stus[i].number,stus[i].age);}return 0;
}


http://www.ppmy.cn/server/153152.html

相关文章

Flutter组件————FloatingActionButton

FloatingActionButton 是Flutter中的一个组件&#xff0c;通常用于显示一个圆形的按钮&#xff0c;它悬浮在内容之上&#xff0c;旨在吸引用户的注意力&#xff0c;并代表屏幕上的主要动作。这种按钮是Material Design的一部分&#xff0c;通常放置在页面的右下角&#xff0c;但…

JavaScript查缺补漏

文章目录 一、JavaScript是什么&#xff1f;1. JavaScript2.数组的使用3.函数默认参数4.对象中查找属性的另外写法 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、JavaScript是什么&#xff1f; 1. JavaScript 是一种运行在客户端&#xff08;浏…

便捷的线上游戏陪玩、线下家政预约以及语音陪聊服务怎么做?系统代码解析

系统架构选择的综合考虑 前端使用uniapp可跨平台开发&#xff0c;基于Vue.js的跨平台开发框架&#xff0c;允许开发者使用同一套代码基础构建面向iOS、Android、以及各种小程序&#xff08;如微信小程序&#xff09;、H5等多个平台的应用。 后端使用易于学习且免费开源的thin…

停车管理系统:构建安全、便捷的停车环境

Tomcat 简介 只要学习Java Web项目就不得不学习Tomcat。Tomcat是一种免费的开源的一种Java Web项目的容器&#xff0c;完美继承了 Apache服务器的特性&#xff0c;并且里面添加可以自动化运行的Java Web组件&#xff0c;让Java Web项目可以完全的运行到Tomcat里面。对于特大型项…

【JetPack】Navigation知识点总结

Navigation的主要元素&#xff1a; 1、Navigation Graph&#xff1a; 一种新的XML资源文件,包含应用程序所有的页面&#xff0c;以及页面间的关系。 <?xml version"1.0" encoding"utf-8"?> <navigation xmlns:android"http://schemas.a…

web的五个Observer API

IntersectionObserver&#xff1a; 一个元素从不可见到可见&#xff0c;从可见到不可见 ??IntersectionObserver是一种浏览器提供的 JavaScript API&#xff0c;用于监测元素与视窗的交叉状态。它可以告诉开发者一个元素是否进入或离开视窗&#xff0c;以及两者的交叉区域的…

英威腾变频器切换频率命令来源的具体方法示例

英威腾变频器切换频率命令来源的具体方法示例 功能: 常用在本地与远程控制切换 本次示例: 面板数字键盘设定频率与外部模拟量设定频率之前切换 具体操作方法可参考以下内容: 首先,进入参数组,如下图所示,找到P00基本功能组,按下选择键进入, 如下图所示,找到P00.06 (…

devops和ICCID简介

Devops DevOps&#xff08;Development 和 Operations 的组合&#xff09;是一种软件开发和 IT 运维的哲学&#xff0c;旨在促进开发、技术运营和质量保障&#xff08;QA&#xff09;部门之间的沟通、协作与整合。它强调自动化流程&#xff0c;持续集成&#xff08;CI&#xf…