zoukankan      html  css  js  c++  java
  • c语言学习之基础知识点介绍(十七):写入读取结构体、数组、结构体数组

    一、结构体的写入和读取

       //写入结构体
        FILE *fp = fopen("/Users/ios/Desktop/1.data", "w");
        if (fp) {
    
    //        int num = 20;
    //        fwrite(&num, sizeof(num), 1, fp);//写入int
    
            Person p = {"苍空",16}; //int num = 20;
            fwrite(&p, sizeof(p), 1, fp);
            printf("写完了
    ");
            fclose(fp);
        }
        
        //读取结构体
        FILE *fp = fopen("/Users/ios/Desktop/1.data", "r");
        if(fp){
            Person p;
            fread(&p, sizeof(p), 1, fp);
            printf("姓名:%s  年龄:%d
    ",p.name,p.age);
            fclose(fp);
        }

    二、数组的写入和读取

    //写入数组
        FILE *fp = fopen("/Users/ios/Desktop/1.xxxx", "w");
        
        if(fp){
            float fs[] = {10.1f,10.2f,10.3f,10.4f,10.5f};//数组名本身就是地址
            fwrite(&fs, sizeof(float), 5, fp);//第二个参数:每个元素的大小,第三个:一共多少块,多少块以数组长度为结果
            printf("haha
    ");
            fclose(fp);
        }
        
        //读取数组
        FILE *fp = fopen("/Users/ios/Desktop/1.xxxx", "r");
        if(fp){
            float fs[5];
            fread(&fs, sizeof(float), 5, fp);
            for (int i =0; i<5; i++) {
                printf("%.1f
    ",fs[i]);
            }
            fclose(fp);
        }

    三、结构体数组的写入和读取

      //结构体数组的写入
        
        FILE *fp = fopen("/Users/ios/Desktop/xxx.1", "w");
        if (fp) {
            Person ps[4] = { {"",16},{"",17},{"",18},{"",14} };
            fwrite(ps, sizeof(Person), 4, fp);
            printf("第1个天王最帅
    ");
            fclose(fp);
        }
        
        
        //结构体数组的读取
        FILE *fp = fopen("/Users/ios/Desktop/xxx.1", "r");
        if (fp) {
            //读取
            Person ps[4];
            fread(ps, sizeof(Person), 4, fp);
            for (int i = 0; i<4; i++) {
                printf("姓名:%s  年龄:%d
    ",ps[i].name,ps[i].age);
            }
            fclose(fp);
        }
  • 相关阅读:
    eclipse编码格式设置教程、如何为eclipse设置编码格式?
    Eclipse中使用SVN
    个人mysql配置命令
    MySQL新建用户,授权,删除用户,修改密码等命令
    MySQL修改root密码的多种方法
    MySQL 5.6 for Windows 解压缩版配置安装
    在windows下安装mysql5.6.24版本
    CS231n assignment2 Q3 Dropout
    CS231n assignment2 Q1 Fully-connected Neural Network
    CS231n assignment2 Q2 Batch Normalization
  • 原文地址:https://www.cnblogs.com/bobo-pcb/p/4942847.html
Copyright © 2011-2022 走看看