void odczyt(struct dane **head)
{
struct dane *nowy = (struct dane*)malloc(sizeof(struct dane));
struct dane *point = *head;
char bufor[30];
printf("zmienne\n");
FILE *plik;
plik = fopen("test.txt", "r");
if(plik == NULL)
printf("Błąd podczas otwierania pliku!");
else
{
while(fscanf(plik, "%d", bufor) != EOF)
{
struct dane *nowy = (struct dane*)malloc(sizeof(struct dane));
printf("wejscie w while\n");
nowy->next = NULL;
nowy->id = (int*)malloc(sizeof(int));
strcpy(nowy->id, bufor);
fscanf(plik, "%s", bufor);
strcpy(nowy->tytul, bufor);
fscanf(plik, "%d", bufor);
nowy->rok = (int*)malloc(sizeof(int));
strcpy(nowy->rok, bufor);
fscanf(plik, "%d", bufor);
nowy->stan = (int*)malloc(sizeof(int));
strcpy(nowy->stan, bufor);
fscanf(plik, "%d", bufor);
nowy->przesluchany = (int*)malloc(sizeof(int));
strcpy(nowy->przesluchany, bufor);
printf("po wszystkich strcpy\n");
if(*head == NULL)
{
*head = nowy;
printf("head = nowy\n");
}
else
{
while(point->next != NULL)
{
point = point->next;
printf("point = point->next\n");
}
point->next = nowy;
printf("point->next=point\n");
}
}
}
printf("odczyt udany");
fclose(plik);
}
Witam
Mam problem z wczytywaniem danych do listy jednokierunkowej. Co należy zmienić w funkcji aby działała?
Z góry dziękuje!
Plik z którego czyta wygląda tak:
2
roko
1992
0
1
1
enej
2001
0
1