首页 > 解决方案 > 如何将文本文件中的两行存储为两个字符串

问题描述

我正在尝试读取一个包含两行的文本文件,如下所示:

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的新手,我不知道该怎么做,提前谢谢你。

标签: 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);将从文件的开头开始读取并将第一行存储到Studentschar 数组中,然后fgets(Courses, sizeof(Courses), fptr);将读取第二行并将其存储到Courseschar 数组中。

确保size of Students & Courses足够大以容纳每行。


推荐阅读