-1

我的问题是我输入了“if”并且代码没有继续读取文件!我需要继续阅读文件并比较 proxcasa 和 saux!我认为fseek()会解决这个问题,但我应该在哪里以及如何在我的代码中使用它?

void ler_tabuleiro(lista_tabuleiro *t,FILE *entrada)
{
    TipoTabuleiro tabu;
    char proxcasa[100], regracasa[100], saux[20];
    strcpy(saux,"0");
    strcpy(proxcasa,"0");

    while(!feof(entrada))
    {
        fscanf(entrada," %s ",tabu.casa ); // nessa primeira leitura vamos ver se é tabuleiro

        if(strcmp(tabu.casa,"TABULEIRO")==0)
        {
            fscanf(entrada,"%s",tabu.casa);
        }
        else if( (strcmp(tabu.casa, "JOGADAS") == 0) || (strcmp(tabu.casa, "FIM") == 0) )
        {
            break;
        }

        if(strcmp(proxcasa,saux)==0) // o problema tá aqui !!! como proxcasa vai ser 0 ?
        {
            printf("entrou");
            fscanf(entrada, "%s %s %d",proxcasa,regracasa, &tabu.energia);
            printf("%s %s %s %d ",tabu.casa, proxcasa,regracasa,tabu.energia);
            inserirprimeiro(tabu,t,regracasa);
            strcpy(saux,tabu.casa);
        }
    }
}
4

1 回答 1

3

你应该更清楚你的问题,但我怀疑它是break第二个if- 这将打破文件读取循环。

我不知道你如何/为什么认为fseek()是合适的。

于 2012-11-02T03:19:58.090 回答