C语言——文件操作

来源:互联网 发布:影音先锋官方下载mac 编辑:程序博客网 时间:2024/06/05 09:01

void fun41_4()
{
// 4.1.1 任务描述
// 用结构体存储下表中的数据,然后输出每人的姓名和实发数(基本工作+浮动工资-支出)
// 姓名 基本工资 浮动工资 支出
// wang 2400.00 400.00 76.00
// zhang 3400.00 600.00 120.00
// li 5000.00 1200.00 210.00

// 保存后从文件"person.txt"中,依次读取每行,并按照保存的格式,依次重新创建结构对象,将信息保存到结构对象中并显示。
struct Gz gz[3];
FILE *fp=fopen("person.txt","r");
if(fp!=NULL)
{
int i=0;
for(i=0;i<3;i++)
{
fread(&gz[i],sizeof(struct Gz),1,fp);//第一个参数是 数据地址 要写出的字节数 数据项 文件指针
}
puts("读入信息如下:");
for(i=0;i<3;i++)
{show(gz[i]);
printf("\n");
}
fclose(fp);
fp=NULL;
}else
{
puts("打开读入文件失败!");
exit(0);
}

}
void show(struct Gz gz)
{
printf("姓名 :%s 基本工资:%0.2f 浮动工资 : %0.2f 支出 : %0.2f",gz.name,gz.jbgz,gz.fdgz,gz.zcgz);
}
void fun42()
{

FILE *fp;
fp=fopen("E:\\person.data","wb");// b 是二进制格式打开
if(fp!=NULL)
{
struct Gz gz[3]={{"wang",2400.00,400.00,76.00},{"zhang",3400.00,600.00,120.00},{"li",5000.00,1200.00,210.00}};
int i=0;
for(i=0;i<3;i++)
{
fwrite(&gz[i],sizeof(struct Gz),1,fp);//第一个参数是 数据地址 要写出的字节数 数据项 文件指针
}
puts("写入文件数据操作成功!");
fclose(fp);
fp=NULL;
}else
{
puts("打开写入文件失败!");
exit(0);
}

fp=fopen("E:\\person.data","rb");
if(fp!=NULL)
{ struct Gz gz[3];
int i=0;
for(i=0;i<3;i++)
{
fread(&gz[i],sizeof(struct Gz),1,fp);//第一个参数是 数据地址 要写出的字节数 数据项 文件指针
}
puts("读入信息如下:");
for(i=0;i<3;i++)
{show(gz[i]);
printf("\n");
}
fclose(fp);
fp=NULL;
}else
{
puts("打开读入文件失败!");
exit(0);
}

}

原创粉丝点击