职工信息存入文件employee,再抽取部分信息存入另一个文件employee_type
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define size 3
struct employee
{ char name[6]; //姓名
char num[8]; //编号
char sex[2]; //性别
int age; //年龄
char addr[10]; //地址
int money; //工资
char health[4]; //身体健康程度
char cul[4]; //文化程度
}emp[size]; //employee结构体
struct employee_type
{ char name[6];
int money;
}empl[size]; //employee_type结构体
void save() //存储职工的全部信息
{ FILE *fp;
int i;
printf("Please enter data of employee:\n");
for(i=0;i<size;i++)
scanf("%s%s%s%d%s%d%s%s",emp[i].name,emp[i].num,emp[i].sex,&emp[i].age,emp[i].addr,&emp[i].money,emp[i].health,emp[i].cul);
if((fp=fopen("employee.dat","wb"))==NULL) { printf("can't open file!\n"); exit(0); }
for(i=0;i<size;i++)
if(fwrite(&emp[i],sizeof(struct employee),1,fp)!=1) //从emp[i]地址开始的数据给fp文件
printf("file write error!\n");
fclose(fp); }
void duchu() //读出职工的全部信息
{ FILE *fp; int i; printf("显示职工信息:\n");
if((fp=fopen("employee.dat","rb"))==NULL)
{ printf("can't open file!\n"); exit(0); }
for(i=0;i<size;i++)
{ fread(&emp[i],sizeof(struct employee),1,fp); //把存放文件fp的地址给emp[i]
printf("%-5s %-5s %-5s %-5d %-5s %-5d %-5s %-5s\n",emp[i].name,emp[i].num,emp[i].sex,emp[i].age,emp[i].addr,emp[i].money,emp[i].health,emp[i].cul); } fclose(fp); }
void chouqu() //抽取职工的name及money
{ FILE *fp,*in; int i;
if((fp=fopen("employee.dat","rb"))==NULL) //以只读的方式打开文件
{ printf("can't open file!\n"); exit(0); }
if((in=fopen("employee_type.dat","wb"))==NULL) //以只读的方式打开文件
{ printf("can't open file!\n"); exit(0); }
for(i=0;i<size;i++)
{ fread(&emp[i],sizeof(struct employee),1,fp);
strcpy(empl[i].name,emp[i].name);
empl[i].money=emp[i].money;
if(fwrite(&empl[i],sizeof(struct employee_type),1,in)!=1) //从empl[i]的地址开始的数据给in文件
printf("file write error!\n"); } fclose(fp); fclose(in); }
void duchu2() //读出抽取出来的信息
{ FILE *in; int i; printf("显示信息:\n");
if((in=fopen("employee_type.dat","rb"))==NULL) //以只读的方式打开文件
{ printf("can't open file!\n"); exit(0); }
for(i=0;i<size;i++)
{ fread(&empl[i],sizeof(struct employee_type),1,in); //把文件in内的数据地址给empl[i]
printf("%-5s %-5d\n",empl[i].name,empl[i].money); } fclose(in); }
int main()
{ //save(); chouqu(); duchu(); duchu2(); return 0; }
转载于:https://www.cnblogs.com/hupolinglong/articles/employee.html
职工信息存入文件employee,再抽取部分信息存入另一个文件employee_type相关推荐
- python读写文件详解,将数据写入一个文件或读一个文件写入另一个文件中。
目录 实践一:读取文件并打印,read() 实践二:读取文件的一行并打印,readline() 实践三:读取文件的所有行存入到一个列表中并打印,readlines() 实践四:向文件中写入字符串,wr ...
- 将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式
将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式 使用条件: Excel文件必须是xlsx格式,且数据结构一致,方可用以下代码. # 第一步 导入模块 import pandas ...
- linux shell 文件空,linux shell编程 如何判断一个文件是否为空
shell 判断文件/目录是否为空 jfkidear144932015-01-15 shell中如何判断一个变量是否为空 l_nan365492014-07-14 在shell中如何判断一个变量是否为 ...
- (获取qq群成员信息,并下载头像,每个群保存一个文件夹)
# 1.获取到自己qq里面所有的群,并且保存每个群里面的群成员信息到mongodb里面# 下载每个群的群成员的头像# 1.抓包,抓到获取自己所有qq群的接口 requests模块 https://qu ...
- java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件
(1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...
- linux下如何搜索某个文件,技术|如何在 Linux 中查找一个文件
对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是find 命 ...
- 查找目录下的及子目录下的 所有的给定后缀名的文件并将其路径打印到一个文件中。
package FileDemo;import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; impo ...
- 如何在WPS一个文件中以链接形式插入另外一个文件?WPS文档插入经验分享
1.打开WPS软件,打开原文件A 2.点击文件上方WPS插入选项,点击对象,弹出"插入对象"对话框 3.先点击由文件创建,再点击浏览选择需要插入的文件 4.点击需要插入的文件,再点 ...
- 文件管理软件,将文件按名称归类移动到另一个文件夹中
怎么管理文件,比如说将多个文件快速移动到另一个文件夹之中,该如何实现呢?今天小编给大家分享一个新的技巧,下面一起来试试吧. 所需工具 文件素材若干 操作步骤 运行[文件批量改名高手],在"文 ...
最新文章
- JS笔记(一):声明提升
- Scrapy框架items数据建模、翻页请求、requests对象请求、meta参数的使用
- OpenAI雄心勃勃的机器人计划失败了:强化学习没法用?
- badboy 2.2.5 安装包
- Vue v-if与v-show的区别
- IE内置的WebBrowser控件之--WEB打印
- 可以获得索引值码_搜索引擎优化最适合什么样子的工作?
- 《童梦奇缘-梦幻般的羁绊》第一章-朦胧
- [HAOI2015]树上染色(树形背包)
- 微博多尺度序列推荐算法实践
- 用C#绘图实现动画出现卡屏(运行慢)问题的解决办法
- Altium Designer使用-----LOGO脚本的使用
- kettle下载百度网盘地址含入门教程8(定时任务调度)
- node爬取守望先锋图片
- html网页运行环境,网站运行的环境要求
- MIT6.824-lab3AB-2022(万字推导思路及代码构建)
- laravel 验证手机号
- 2023前端vue高频面试题
- res.data, res.data.data, res.data.data.rows的含义
- Qml自定义等待指示器
热门文章
- 江苏2021年计算机二级报名时间,江苏3月计算机二级考试报名时间安排
- linux下安装安装pcre-8.32 configure: error: You need a C++ compiler for C++ support
- python双星号什么运算_Python3基础 双星号 求一个数的几次幂
- Stream流使用详解
- 攻防演练-组织沙盘推演的4个阶段.
- MyBatis官方文档-Java API
- python写完后打不开门_你的解锁方式为什么打不开门?
- MFC C++知道当前日期,求昨天或前天的日期
- Oracle VM VirtualBox 解决 “不能为虚拟电脑 打开一个新任务”
- 一篇博客带你熟悉Eclipse、AndroidStudio下搭建NDK环境(内有Demo)