c - 如何将文本文件中的两行存储为两个字符串
问题描述
我正在尝试读取一个包含两行的文本文件,如下所示:
18,3,4,c;19,3,5,D
19100,18,18;19102,3,2
我想将第一行存储在一个名为 Students 的字符串中,第二行存储到另一个名为 Courses 的字符串中。
我已经编写了这段代码,但它只存储一行,我无法让它与第二行一起使用
FILE *fptr;
if ((fptr = fopen("program.txt", "r")) == NULL) {
printf("Error! opening file");
exit(1);
}
fscanf(fptr, "%[^\n]", Students);
fclose(fptr);
任何人都可以帮助我吗?我是c的新手,我不知道该怎么做,提前谢谢你。
解决方案
FILE *fptr;
char buffer[255] = {'\0'};
if ((fptr = fopen("program.txt", "r")) == NULL) {
printf("Error! opening file");
exit(1);
}
fgets(Students, sizeof(Students), fptr);
fgets(Courses, sizeof(Courses), fptr);
fclose(fptr);
此行fgets(Students, sizeof(Students), fptr);
将从文件的开头开始读取并将第一行存储到Students
char 数组中,然后fgets(Courses, sizeof(Courses), fptr);
将读取第二行并将其存储到Courses
char 数组中。
确保size of Students & Courses
足够大以容纳每行。