用c语言写一个从外部txt文件读取学号到一个数组中的程序
时间: 2024-05-13 14:19:09 浏览: 100
读取txt到数组
以下是一个从外部txt文件读取学号到一个数组中的程序示例:
```c
#include <stdio.h>
#define MAX_STUDENTS 100 // 最大学生数量
int main() {
int student_nums[MAX_STUDENTS]; // 保存学号的数组
int num_students = 0; // 学生数量
FILE* fp; // 文件指针
int student_num; // 学号
fp = fopen("students.txt", "r"); // 打开文件,只读模式
if (fp == NULL) { // 打开失败
printf("Failed to open file\n");
return 1;
}
// 从文件中逐行读取学号
while (fscanf(fp, "%d", &student_num) == 1) {
if (num_students == MAX_STUDENTS) { // 数组已满
printf("Too many students\n");
break;
}
student_nums[num_students++] = student_num;
}
fclose(fp); // 关闭文件
// 输出学号数组
printf("Student numbers:\n");
for (int i = 0; i < num_students; i++) {
printf("%d\n", student_nums[i]);
}
return 0;
}
```
在这个示例中,我们定义了一个保存学号的整数数组 `student_nums`,并使用 `fopen` 函数打开了名为 `students.txt` 的文件(仅读模式)。接着,我们使用 `fscanf` 函数从文件中逐行读取学号,并将它们储存在数组中。读取完成后,我们使用 `fclose` 函数关闭文件,并输出学号数组。
需要注意的是,这里我们假设 `students.txt` 文件中每行只有一个学号,并且学号只包含数字。如果你的文件格式不同,你可能需要进行相应的修改。
阅读全文