Ich versuche, ein Programm zu schreiben, das Daten aus einer Datei liest und in ein Struct-Array einfügt. Ich habe es geschafft, es in das Array zu setzen, aber ich bekomme dann einen Segmentierungsfehler. Ich glaube, ich muss malloc verwenden, um das struct-Array zu initialisieren, aber ich bin neu in der Programmierung und verstehe nicht wirklich, wie man das macht. Danke für Ihre Hilfe! Ich habe Teile meines Codes kopiert, damit Sie sehen können, was ich getan habe. Ich habe meine Funktionen in diesem Code nicht enthalten.Segmentierungsfehler nach dem Lesen einer Datei in ein Struct-Array
struct Weather
{
char location;
int daynum;
double temp;
double precip;
};
int main (void)
{
FILE*openFile;
char buffer[COLS][ROWS];
int i = 0;
struct Weather loc1; //initialize here?
for (i = 0; i <200; i++)
{
fgets (buffer[i], ROWS, openFile);
parseLine(buffer[i], &loc1);
printf ("%d %c %d %.2lf %.2lf\n",i, loc1.location, loc1.daynum, loc1.temp, loc1.precip);
}
}
erstes Problem: Sie müssen die Datei öffnen. Werfen Sie einen Blick auf ['fopen'] (https://linux.die.net/man/3/fopen) – yano
@Mason: Sie können eine der Antworten akzeptieren, indem Sie auf das graue Häkchen unterhalb der Punktzahl klicken. – chqrlie