本文主要是介绍写一个员工的基本信息,写入一个employee文件中,然后提取其中的员工的名字和收入写入另一个简单文件中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define M 10
#define N 3
struct T
{char name[M];char num[M];char sex;int age;char add[M];float comes;char lev[M];char hea[M];//健康状况}s[N];//假设就三个职工把struct U{char name[10];float comes;}t[N];void save()
{FILE *fp,*p;int i;if((fp=fopen("employee.txt","wb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fwrite(&s[i],sizeof(struct T),1,fp))!=1) //把输入的职工数据写入文件中printf("file write error");}rewind(fp);//指针重新指向一下//打开这个文件if((fp=fopen("employee.txt","rb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fread(&s[i],sizeof(struct T),1,fp))!=1) //把输入的职工数据写入文件中printf("file write error");printf("%-4s %4s %2c %4d %4s %4f %4s %4s\n",s[i].name,s[i].num,s[i].sex,s[i].age,s[i].add,s[i].comes,s[i].lev,s[i].hea);strcpy(t[i].name,s[i].name);//把员工的名字和收入房子另一个结构体数组中保存起来t[i].comes=s[i].comes;}if((p=fopen("empty.txt","wb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fwrite(&t[i],sizeof(struct U),1,p))!=1) //把输入的职工数据写入文件中printf("file write error");}rewind(p);//指针重新指向一下//打开这个文件if((p=fopen("empty.txt","rb"))==NULL){printf("error");exit(0);}for(i=0;i<N;i++){if((fread(&t[i],sizeof(struct U),1,p))!=1) //把输入的职工数据写入文件中printf("file write error");printf("%-5s %4f\n",t[i].name,t[i].comes);}fclose(fp);fclose(p);
}int main()
{//输入数据;int i;printf("请输入职工的姓名,职工号,性别,年龄,地址,收入,文化水平,健康状态:\n");for(i=0;i<N;i++){scanf("%s %s %c %d %s %f %s %s",s[i].name,s[i].num,&s[i].sex,&s[i].age,s[i].add,&s[i].comes,s[i].lev,s[i].hea);}save();//给写入employee文件中return 0;
}
代码的关键:在于员工姓名的复制,收入的复制。然后放到一个新定义的结构体变量中存储,最后把这个新的结构体变量写入文件中,再读取就可以。注意:先写入然后再读取操作。
这篇关于写一个员工的基本信息,写入一个employee文件中,然后提取其中的员工的名字和收入写入另一个简单文件中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!