首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C中读取文件时使用指针填充结构数组

在C语言中,可以使用指针来读取文件并填充结构数组。下面是一个示例代码,演示了如何实现这个过程:

代码语言:txt
复制
#include <stdio.h>

#define MAX_SIZE 100

// 定义结构体
typedef struct {
    int id;
    char name[50];
    float score;
} Student;

int main() {
    FILE *file;
    Student students[MAX_SIZE];
    int count = 0;

    // 打开文件
    file = fopen("students.txt", "r");
    if (file == NULL) {
        printf("无法打开文件\n");
        return 1;
    }

    // 读取文件并填充结构数组
    while (fscanf(file, "%d %s %f", &students[count].id, students[count].name, &students[count].score) == 3) {
        count++;
    }

    // 关闭文件
    fclose(file);

    // 打印结构数组中的数据
    for (int i = 0; i < count; i++) {
        printf("学生ID:%d\n", students[i].id);
        printf("学生姓名:%s\n", students[i].name);
        printf("学生成绩:%f\n", students[i].score);
        printf("\n");
    }

    return 0;
}

上述代码中,首先定义了一个结构体Student,包含了学生的ID、姓名和成绩。然后在main函数中,声明了一个结构数组students,用于存储从文件中读取的学生数据。count变量用于记录读取的学生数量。

接下来,通过fopen函数打开文件,如果文件打开失败,则输出错误信息并返回。然后使用fscanf函数循环读取文件中的数据,并将数据填充到结构数组中,同时递增count变量。最后,使用fclose函数关闭文件。

最后,使用循环遍历结构数组,并打印每个学生的ID、姓名和成绩。

这是一个简单的示例,展示了如何在C语言中使用指针填充结构数组。在实际应用中,可能需要根据具体的文件格式和结构体定义进行适当的修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券