Witam,
Szukam sposobu na tokenizację stringu z pliku tekstowego i zapisaniu kolejnych części tekstu do struktury.
Próbowałem w ten sposób ale kończy się tak, że program najzwyczajniej wyrzuca błąd. Czy mógłby mi ktoś wytłumaczyć, gdzie robię błąd i jak go poprawić?
struct wezel {
char nazwa[30];
char rezyser[30];
char nosnik[20];
int rok;
int id;
struct wezel *nastepny;
};
void wczytajListe( struct wezel *wsk) {
FILE* wp;
char *token;
char maxRead[257];
wp = fopen("tekst.txt", "r");
while(wp==NULL){
printf("\nPlik nie zostal znaleziony lub nie moze zostac otwarty\n");
break;
}
while(wp != NULL){
while(fgets(maxRead, 256, wp)) {
token = strtok(maxRead, ";");
wsk->id = atoi(token); //rzutowanie stringu na int
token = strtok(NULL, ";");
strcpy(wsk->nazwa, token);
token = strtok(NULL, ";");
strcpy(wsk->rezyser, token);
token = strtok(NULL, ";");
wsk->rok = atoi(token);
token = strtok(NULL, "\n");
strcpy(wsk->nosnik, token);
wsk=wsk->nastepny;
}
printf("%d %s %s %d %s",wsk->id, wsk->nazwa, wsk->rezyser, wsk->rok, wsk->nosnik);
}
fclose(wp);
}
Plik tekstowy, który próbuję otworzyć ma nazwę tekst.txt, znajduje się w tym samym folderze co .exe
Jego zawartość to:
1;Janusze Biznesu;DVD;Kamil Wawrzynek;2009