按块进行读写

按块进行读写

  • 写文件 fwrite
  • 参数1 数据地址 参数2 块大小 参数3 块个数 参数4 文件指针
  • 读文件 fread

代码示例:

//3.按块进行读写
struct Hero
{
        char name[64];
        int age;
};
void test03()
{
        //写文件
        FILE*f_write = fopen("./test3.txt", "wb");//二进制方式写入
        if (f_write == NULL)
        {
               return;
        }
        struct Hero heros[] =
        {
               {"孙悟空",999},
               {"猪八戒",998},
               {"唐山",997},
               {"傻生",996}
        };
        for (int i = 0; i < 4; i++)
        {
               //参数1  数据地址      参数2 块大小   参数3 块个数   参数4   文件指针
               fwrite(&heros[i],sizeof(struct Hero),1,f_write);
        }
        fclose(f_write);
        //读文件
        FILE*f_read = fopen("./test3.txt", "rb");
        if (f_read == NULL)
        {
               return;
        }
        struct Hero temp[4];
        fread(&temp,sizeof(struct Hero),4,f_read);
        for (int i = 0; i < 4; i++)
        {
               printf("姓名:%s       年龄:%d\n",temp[i].name,temp[i].age);
        }
        fclose(f_read);
}
posted @ 2022-02-13 12:51  黑马金牌编程  阅读(41)  评论(0)    收藏  举报