当我尝试用C语言读取文件时,我遇到了问题。
这是我的文件.txt格式
1,325.1.1, ,,,,4,5.0,9.0,10.0
2-5,354.1.1, ,,,,3,5.0,10.0,9.0
,111.1.1, ,,,,3,4.0,8.0,6.0
,646.1.1, ,,,,3,3.0,7.0,9.0
,132.1.1, ,,,,3,3.0,7.0,6.0
6-7,234.1.1, ,,,,2,4.0,9.0,5.0
,321.1.1, ,,,,2,4.0,7.0,5.0
8-11,567.1.1, ,,,,1,5.0,8.0,1.0
,123.1.1, ,,,,1,4.0,8.0,4.0
,324.1.1, ,,,,1,4.0,8.0,4.0
,456.1.1, ,,,,1,4.0,8.0,1.0
12,666.1.1, ,,,,0,3.0,7.0,0.0
我可以很好地阅读第一行和第二行,因为它们以整数开头,但是当我转到第三行时,我无法读取它,因为它以逗号开头。 你能帮助我解决这个问题吗?
这是我的代码,用于读取所有行并将它们保存在结构数组中。
int main()
{
FILE *fp;
INFORMACAO *inf;
if((inf=(INFORMACAO *)malloc(NMAX_INFORMACAO*sizeof(INFORMACAO)))==NULL) return 0;
fp=fopen("111.1.1.txt","r");
if(fp == NULL)
{
printf("\n[ERROR]File not Found");
return (0);
}
else
{
while(!feof(fp))
{
fscanf(fp,"%d,%d.%d.%d, ,,,,%d,%f,%f,%f\n",&inf[0].id_escola,&inf[0].ciclo,&inf[0].jogo,&inf[0].pontuacao,&inf[0].desempate1,&inf[0].desempate2,&inf[0].desempate3);
i++;
}
}