while(!feof(fp)) {
printf("\n %s %s %s", post.name, post.lastnamn, post.clubb);
for(i = 1; i <= x; i++;)
{
printf(" %d", j.number[i]);
}
fread(&post, sizeof(postTyp), 1, fp);
}
我创建了两个 typedef struct,我用 post 和 j 来指代它们。
我创建了一个程序,要求输入用户名、姓氏和俱乐部,并将其存储在一个文本文件中。我还创建了一个程序,该程序在数组 x
中创建 number[i]
数量的数字并将其保存在文本文件中。 x
计算您运行程序以创建姓名、姓氏和俱乐部的次数。因此,如果您运行该程序 3 次,将创建 3 个数字,如下面的示例
所以当我打印它时,我得到了这个
Hanna Svensson FCB 1 2 3
Fabian Svensson FCB 1 2 3
Patrik Svensson FCB 1 2 3
我想要的是这样打印
Hanna Svensson FCB 1
Fabian Svensson FCB 2
Patrik Svensson FCB 3
关于我如何完成这项工作的任何提示?
答案 0 :(得分:1)
解决方案是只使用外循环而不使用内循环
i=1;
while(!feof(fp))
{
printf("\n %s %s %s", post.name, post.lastnamn, post.clubb);
printf(" %d", j.number[i]);
i++;
/* ...*/
}
注意:你的 while 循环结构非常有问题。