C文件处理/扫描文件中的数据

时间:2018-08-30 10:36:03

标签: c

我有一个带有一行文本的文件,其中包含4位学生的数据,我试图一次扫描一定数量的字符,直到到达文件末尾并将所有数据打印到一个新文件中,妥善安排。 这是文件内的文本:

BaruchComp078045MichalMech090060PinhasElek100090YaelitComp080100DorotiMech100100

功能如下:

void StudAverage(FILE *in, FILE *out)
{
    char name[7], faculty[5], mark1[4], mark2[4], Avg[5];
    float average;
    while (fscanf(in, "%6s%4s%3s%3s", name, faculty, mark1, mark2) != EOF);
    {
        average = (atof(mark1) + atof(mark2)) / 2;
        itoa(average, Avg, 10);
        fprintf(out, "%s %s\n", name, Avg);
    }

}

问题在于它仅扫描最后一个学生的数据,并跳过之前的所有数据。 有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:3)

   while (fscanf(in, "%6s%4s%3s%3s", name, faculty, mark1, mark2) != EOF)

最后删除;