You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

动态声明结构体并进行Fwrite/Fread操作

动态声明结构体并进行Fwrite/Fread操作的示例代码如下:

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

typedef struct {
    int id;
    char name[20];
    float score;
} Student;

int main() {
    int numStudents = 3;
    
    // 动态声明结构体数组
    Student* students = (Student*)malloc(numStudents * sizeof(Student));
    
    // 初始化结构体数组
    students[0].id = 1;
    strcpy(students[0].name, "Alice");
    students[0].score = 90.5;
    
    students[1].id = 2;
    strcpy(students[1].name, "Bob");
    students[1].score = 85.0;
    
    students[2].id = 3;
    strcpy(students[2].name, "Charlie");
    students[2].score = 95.5;
    
    // 将结构体数组写入文件
    FILE* file = fopen("students.dat", "wb");
    if (file != NULL) {
        fwrite(students, sizeof(Student), numStudents, file);
        fclose(file);
    }
    
    // 从文件中读取结构体数组
    Student* readStudents = (Student*)malloc(numStudents * sizeof(Student));
    
    file = fopen("students.dat", "rb");
    if (file != NULL) {
        fread(readStudents, sizeof(Student), numStudents, file);
        fclose(file);
    }
    
    // 打印读取的结构体数组
    for (int i = 0; i < numStudents; i++) {
        printf("Student %d: id=%d, name=%s, score=%.1f\n", i+1, readStudents[i].id, readStudents[i].name, readStudents[i].score);
    }
    
    // 释放内存
    free(students);
    free(readStudents);
    
    return 0;
}

上述代码首先动态声明了一个包含学生信息的结构体数组,然后初始化了数组中的每个元素。接着,使用fwrite函数将结构体数组写入名为"students.dat"的二进制文件中。

然后,使用fread函数从文件中读取结构体数组,并将读取的数据存储在另一个动态声明的结构体数组中。最后,使用循环遍历新的结构体数组,并打印每个学生的信息。

最后,记得释放动态分配的内存。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

动态声明结构体并进行Fwrite/Fread操作-优选内容

动态声明结构体并进行Fwrite/Fread操作-相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询