[C] Segmentation fault beim Einlesen, Verarbeiten und Schreiben einer Tabelle.

Wenn ich den Code neukompoliert habe, reicht dann ein "rehash" um die neue Version zu benutzen?
rehash hat damit nichts zu tun. rehash macht nur ein Update der Liste von verfügbaren Programmen. Wenn du das Verzeichnis wo das Programm liegt nicht im PATH hast, nützt das überhaupt nichts. Wenn das Programm neu erstellt ist, wird es auch ausgeführt wenn du es aufrufst.
DDD gibt folgenden Fehler:

D.h. in der Zeile ist was faul?
Das ist nur die Stelle wo der Fehler dazu führt das das Programm abgebrochen wird. Der Fehler liegt aber bei dir, da du der Funktion falsche Werte übergeben hast. Du solltest dein Programm mit der Option -g kompilieren, dann hat DDD noch weitere Debugging-Informationen über Funktionen und Variablen.

Code:
 for (j=0;j<npart;j++)
{	fgets(line,100,Quelle);
	sscanf(line,"%f %f %f \n", pos[0], pos[1], pos[2]);
	glon[j] = pos[0];
	glat[j] = pos[1];
	intensitaet[j] = pos[2];
 }
Bei scanf mußt du immer Adressen der Variablen als Parameter angeben. Zum Ermitteln der Adresse einer Variablen kannst du den Adressoperator verwenden. Dann solltest du auch prüfen ob etwas von der Datei gelesen werden konnte, aber das hab ich dir ja schonmal gesagt.
C:
sscanf(line,"%d %d %f \n", &glon[j], &glat[j], &intensitaet[j]);
Gruß

pos[3] von int zu float ändern hat nichts gebracht.
 
Zurück