• c--文件读写--二进制


    fwrite()  写二进制文件

    格式:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)   

    #include<stdio.h>
     
    int main ()
    {
       FILE *fp;
       char str[] = "This is runoob.com";
     
       fp = fopen( "ss.txt" , "w" );
       int n=fwrite(str, sizeof(str) , 1, fp );//写文件
        //参数1 ptr:要被写入的数组的指针
        //参数2:每个元素的大小,以字节为单位 
        //参数3:整个数组str中 包含多少个元素 
        //参数4:文件指针 
        //返回值:成功写入的块数,而不是字节数;写入正确返回值=参数3;如果遇到 EOF(“written==EOF”),就返回 0 
     
       fclose(fp);
       
       printf("%d
    ",n);
      
       return(0);
    }
    #include<stdio.h>
    #include<string.h>
    
    typedef struct student{
        char name[20];
        int age;
        int cenji;    
    }Student;
     
    int main ()
    {
       Student stu[5];
       strcpy(stu[0].name,"liming");
       stu[0].age=18;
       stu[0].cenji=58;
       
       strcpy(stu[1].name,"李明");
       stu[1].age=19;
       stu[1].cenji=68;
       
       strcpy(stu[2].name,"zansan");
       stu[2].age=20;
       stu[2].cenji=78;
       
       strcpy(stu[3].name,"lishi");
       stu[3].age=21;
       stu[3].cenji=88;
       
       strcpy(stu[4].name,"李四");
       stu[4].age=22;
       stu[4].cenji=98;
       
       FILE *fp = fopen( "ss.txt" , "w" );
       int n=fwrite(stu, sizeof(stu[0]) , 5, fp );//写文件
       //参数1:是整个数组的指针
       //参数2:是每个结构体的字节数
       //参数3:整个数组中包含5个结构体 
       fclose(fp);
       printf("%d
    ",n);
       
      
       return(0);
    }

      

    fread()   读二进制文件

    格式:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)   

    #include<stdio.h>
    #include<string.h>
    
    typedef struct student{
        char name[20];
        int age;
        int cenji;    
    }Student;
     
    int main ()
    {
       Student stu[5];
       
       FILE *fp = fopen( "ss.txt" , "r" );
       int n=fread(stu, sizeof(stu[0]) , 5, fp );//读文件
       //参数1:是整个数组的指针
       //参数2:是每个结构体的字节数
       //参数3:整个数组中包含5个结构体 
       //参数4:文件指针
       //返回值:读取的块数 
       fclose(fp);
       printf("%s
    ",stu[0].name);
       printf("%s
    ",stu[1].name);
       printf("%s
    ",stu[4].name);
       
      
       return(0);
    }

     

  • 相关阅读:
    Kubernetes1.91(K8s)安装部署过程(一)--证书安装
    开源仓库Harbor搭建及配置过程
    有关centos7 图形化root用户登录
    linux服务器查看tcp链接shell
    django表格form无法保存评论排查步骤
    Redis 4.x 安装及 发布/订阅实践和数据持久化设置
    django博客项目-设置django为中文语言
    windows 环境下如何使用virtualenv python环境管理工具
    【转载】python中利用smtplib发送邮件的3中方式 普通/ssl/tls
    php安装phpize工具
  • 原文地址:https://www.cnblogs.com/liming19680104/p/13380481.html
Copyright © 2020-2023  润新知