需要帮助阅读C语言的文件吗

需要帮助阅读C语言的文件吗,c,C,当我试图用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.

当我试图用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
我能读懂第一行和第二行,因为它们以整数开头,但当我读到第三行时,我读不懂,因为它以逗号开头。 你们能帮我解决这个问题吗

下面是我读取所有行并将它们保存在structur数组中的代码

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++;
        }
    }

这个地方越来越累了;对于一个合理的问题,忽略否决票

基本上,这是一个需要您输入字符串并智能地转换数据的问题。不会免费向您提供此功能,因此您需要标记输入(使用建议的
strtok()
)并处理该操作的结果


如果您不了解术语,该文件格式通常称为CSV(或逗号分隔值),因此如果您使用短语C parsing、C CSV parsing、,C标记化:为什么用C++来标记问题?如果你需要在C/C++中帮助阅读,我认为理解C++的人可以帮助我。我认为你需要用<代码> Strtok()/Case>解析文件。因为没有办法编写一个<代码> fScScript()/Cyth>格式字符串,它总是工作的,所以<代码> fggs[()] < /C> > +代码> Strtok()应该这样做。你能给我举个例子或一个网站,让我可以阅读更多关于它的信息吗?当然。