Hallo leute !
ich habe eine Funktion zum parsen einer datei.txt geschrieben
die datei.txt sieht so aus.
104
-3 -2 650 1
1397 -1.5 649 1
1399 548.5 650 1
-2 548 650 1
die funktion ist :
Code:
FILE *fd;
int i;
int tmp;//wird eignetlich nicht gebraucht.
//datei öffnen!!!!
if ((fd = fopen(dateiname, "r")) == NULL) return(false);
//Anzahl der einzulesene Punkten einlesen
if (fscanf(fd, "%d\n", &(modell->anzahl_szenenecken)) != 1) {
printf("*** Fehler: Werkstueckmodell Einlesen Anzahl Szenenecken\n");
fclose(fd);
return(false);
}//end if (fscanf(fd, "%d\n", &(modell->anzahl_szenenecken)) != 1)
printf("*** Anzahl: %d:",modell->anzahl_szenenecken);
//überprüfen ob die Zahl, die Bedingungen erfüllt
if ((modell->anzahl_szenenecken < 0) ||
(modell->anzahl_szenenecken > MAX_ANZ_MODELLECKEN)) {
printf(
"*** Fehler: Werkstueckmodell Anzahl Szenenecken zu gross (%d > %d)\n",
modell->anzahl_szenenecken, MAX_ANZ_MODELLECKEN);
fclose(fd);
return(false);
}//end if ((modell->anzahl_szenenecken < 0) ||
for (i=0; i<modell->anzahl_szenenecken; i++) {
///
if (fscanf(fd, "%lf %lf %lf %d\n", &(modell->szenenecken[i].x),
&(modell->szenenecken[i].y),&(modell->szenenecken[i].z),
tmp) != 4) {
printf("*** Fehler: Werkstueckmodell Einlesen Szenenecke %d\n", i);
fclose(fd);
return(true);
}
} /* for */
in der fett geschriebenen Schleife stimmt irgendwas nicht
Der Code wird fehlerfrei compiliert, beim Ausführen bekomme ich diese Fehlermeldung:
Speicherzugriffsfehler
Kann mir jemand weiter helfen....
danke im Voraus..
Lesezeichen