C wczytywanie danych z pliku

C wczytywanie danych z pliku
BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 99
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

Kopiuj

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);

}

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

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

BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 99
0

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

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
    for(;;)
    {
        fscanf(p,"%d ",&x);
        fgets(s,200,p);
        if(feof(p)) break;

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

lub:

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

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.