函数fread()与fwrite()的介绍与使用

 

#include<string.h>
#include<stdio.h>
#include<stdlib.h>

/***********************************
功能:从键盘读取学生的 名字、学号、年龄、地址,保存到指定打文件中
函数:fopen(),fread(),fwrite()
结构:定义一个学生结构体保存每个学生的信息,从键盘读取、保存、打印出来

***********************************/

#define SIZE 2
void input();
void save();
void print();

struct student
{
        char name[10];
        int number;
        int age;
        char addr[10];
}stu[SIZE];

int main()
{
        memset(&stu[1],0,sizeof(struct student));
        memset(&stu[0],0,sizeof(struct student));
        input();
        save();
        print();

        return 0;
}
 void input()
{
        int i=0;
        while(i<SIZE){
                printf("please input the name number age addr of a student \n");
                scanf("%s%d%d%s",stu[i].name,&stu[i].number,&stu[i].age,stu[i].addr);
              //  printf("%s  %d %d  %s\n",stu[i].name,stu[i].number,stu[i].age,stu[i].addr);
                i++;
        }
}

void save()
{
        FILE *fp;
        int i=0;

        if((fp=fopen("student.txt","w"))==NULL){
                printf("the operate of the file falie\n");
                exit(0);
        }
        while(i<SIZE){
                fwrite(&stu[i],sizeof(struct student),1,fp);
                i++;
        }
        fclose(fp);
}

void print()
{
        FILE *fp;
        int i=0;
        char ch[sizeof(struct student)];
        if((fp=fopen("student.txt","r"))==NULL){
                printf("the operate of print falie\n");
                exit(0);
        }
        while(i<SIZE){
                fread(&stu[i],sizeof(struct student),1,fp);
                printf("%s  %d %d  %s\n",stu[i].name,stu[i].number,stu[i].age,stu[i].addr);

                i++;
        }
        fclose(fp);
}

此时打开存放信息的student.txt 文件并不是以以正常文本的形式存放,所以在存储从键盘输入的信息时,用函数fprintf() 信息的内容会更加清晰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值