#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> typedef struct employee { char name[20]; char sex[5]; char salary[5]; }Employee; int main() { Employee emp[5] = { { "张三","F","1000"} ,{"李四","F","2000"},{"王五","M","3000"},{"赵六","M","4000"},{"孙七","F","5000"}}; FILE* fp; if ((fp = fopen("employee.dat", "w")) == NULL) { }else{ //printf("请入员工的信息\n"); //for (int i = 0; i < 5; i++) //{ // scanf("%s", emp[i].name); // scanf("%s", emp[i].sex); // scanf("%s", emp[i].salary); // // /*printf(emp[i].name, emp[i].sex, emp[i].salary);*/ // fputs(emp[i].name, fp); // fputs(emp[i].sex, fp); // fputs(emp[i].salary, fp); //} Employee* pw=emp; for (int i = 0; i < 5; i++) { Employee* pw=&emp[i]; fwrite(emp, sizeof(emp[5]), 1, fp); //写入文件student.dat pw++; } Employee* pr = emp; for (int j = 0; j < 5; j++) { fread(emp, sizeof(emp[5]), 1, fp); pr++; } } fclose(fp); system("pause"); }
时间: 2024-04-27 18:24:22 浏览: 81
C++yuandaima.rar_c<graphics.h>_dos.h_graphics.h_stdlib.h
这段代码实现的功能是将5个员工的信息写入到文件"employee.dat"中,并读取出来。其中,结构体Employee定义了员工的姓名、性别和工资三个属性。程序打开文件"employee.dat",如果文件打开失败,则会输出错误信息,结束程序;否则,通过循环将5个员工的信息写入到文件中,然后关闭文件。接着,程序重新打开文件"employee.dat",并通过循环读取文件中的信息。需要注意的是,程序中使用了fwrite和fread函数来进行二进制文件的读写,因此在读取文件时需要使用相同的方式读取才能正确解析数据。
阅读全文