-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

問題についてもっと明確にする必要がありますが、それはbreak2 番目にあると思われますif— これはファイル読み取りループから抜け出します。

fseek()どのように/なぜあなたが適切だと思うのか、私にはわかりません。

于 2012-11-02T03:19:58.090 に答える