Czemu nic się nie wypisuje?

0

Witam.
Napisałem program który ma wczytać do listy dane z pliku txt i pokazać co się wczytało. Kompilator pokazuje że działa tylko program nie pokazuje niczego.

void loadfile()
{
    FILE *Z1 = fopen("plik", "r");
  if (Z1== NULL)
{
    printf("blad w odczycie \n");
    exit(-10);
}
    struct projekt p;
    node*first=NULL;
    while(fscanf(Z1,"%d%s%s%s%s%s",&p.id,p.nazwa,p.opis,p.stan,p.datapocz,p.datakon)==6)
    {
    node*tmp=(node*)malloc(sizeof(node));
    tmp->p=p;
    tmp->next=first;
    first=tmp;
    }
    fclose(Z1);
    return first;
}

void printlist(node *first) 
{
    while (first) {
        printf("%d\n",first->p.id);
        printf("%s\n",first->p.nazwa);
        printf("%s\n",first->p.opis);
        printf("%s\n",first->p.stan);
        printf("%s\n",first->p.datapocz);
        printf("%s\n",first->p.datakon);
        first = first->next;
    }
}

struktury

typedef struct projekt
{
    int id;
    char nazwa[20];
    char opis[200];
    char stan[15];
    char datapocz[8];
    char datakon[8];
};

typedef struct node
{
    struct projekt p;
    struct node*next;
}node;

Co jest nie tak?

0

Polecam kompilować z flagami -Wall oraz -pedantic - wtedy kompilator wyłapuje więcej błędów.

Próbujesz zwrócić wskaźnik z funkcji void, gdzie takie funkcje nie mogą zwracać żadnej wartości.

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