C wczytywanie danych z pliku

0

Witam
Mam problem z wczytywaniem z pliku tekstowego tzn dane nie wcztują sie tak prowidłowo. W pliku w jest na zmiane wiersz z tekstem i wiersz z liczbą. Oto ko


d:

void wczytaj()
{
FILE *p;
p=fopen("plik.txt","r");
if(p==NULL)
printf("Brak dostepu do pliku");

int x=0;
char s [1000];

while(!feof(p))
{
    fscanf(p,"%d",&x);
    fgets(s,200,p);

    printf("\n%d",x);
    printf("%s",s);
}

fclose(p);

}

0

fscanf(p,"%d ",&x); // jedna spacja zabierze ci białe znaki pomiędzy wierszem z liczbą a wierszem z tekstem.

0

Teraz wczytuje dobrze tylko ostatnie dwa wiersze wypisuje dwa razy, to co zrobić żeby nie wypisywało tego samego zmienić warunek petli?

0
    for(;;)
    {
        fscanf(p,"%d ",&x);
        fgets(s,200,p);
        if(feof(p)) break;

        printf("\n%d",x);
        printf("%s",s);
    }

lub:

    while(fscanf(p,"%d ",&x)==1)
    {
        fgets(s,200,p);

        printf("\n%d",x);
        printf("%s",s);
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1