• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

用c语言读取文本文件(score.txt)的数据,从文本文件获取“学号、语文、数学、英语”各科成绩

发布于 2024-05-07 09:07:02

要使用C语言读取文本文件中的数据,你可以使用标准库中的文件输入输出函数。以下是一个简单的示例程序,它展示了如何从名为 score.txt 的文本文件中读取学号和三门课程的成绩:

#include <stdio.h>

int main() {
    FILE *file; // 文件指针
    char number[20]; // 假设学号最长为20个字符
    int chinese, math, english; // 分别存储语文、数学、英语成绩

    // 尝试打开文件
    file = fopen("score.txt", "r");
    if (file == NULL) {
        printf("无法打开文件\n");
        return 1; // 文件打开失败时退出程序
    }

    // 读取数据
    fscanf(file, "%s %d %d %d", number, &chinese, &math, &english);

    // 输出读取的数据
    printf("学号: %s\n", number);
    printf("语文成绩: %d\n", chinese);
    printf("数学成绩: %d\n", math);
    printf("英语成绩: %d\n", english);

    // 关闭文件
    fclose(file);

    return 0;
}

在这个程序中,我们首先定义了一个 FILE 类型的指针 file 来存储文件的相关信息。然后,我们使用 fopen 函数尝试打开 score.txt 文件,并以只读模式("r")打开。如果文件成功打开,fopen 会返回一个非空的文件指针;如果失败,则返回 NULL

接下来,我们使用 fscanf 函数从文件中读取数据。fscanf 的工作方式与 scanf 类似,但它是用于文件输入的。我们假设每个学号是一串字符,后面跟着三个整数分别代表语文、数学和英语的成绩。

最后,我们使用 printf 函数输出读取的数据,并使用 fclose 函数关闭文件。

请注意,这个程序假设 score.txt 文件中的数据格式是严格按照 学号 语文成绩 数学成绩 英语成绩 的顺序排列的,每个数据项之间用空格分隔。如果文件格式不同,你可能需要调整 fscanf 中的格式字符串以匹配实际的文件格式。

0 条评论

发布
问题

在线
客服