要使用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
中的格式字符串以匹配实际的文件格式。