Zeiger Vektoren und fread()
-
Hallo,
ich hab folgendes Problem mit einem Programm. Ich lese in einer Schleife eine gewisse Anzahl an strings aus einer zuvor erstellten Datei mit
fread(&line, sizeof(line), 1, input);ein. Nun möchte ich gerne die Strings in einem char Zeiger Array
char *Vektor[100];speichern. Leider funktioniert das nicht so wie ich mir das vorstelle. Direkte Zuweisungen mit z.B.
Vektor[1]="Stefan";funktionieren aber sobald ich
Vektor[1]=line;ausprobiere geht nichts mehr. Der Code wird aber einwandfrei kompiliert. Kann mir jemand helfen?

Danke
flo
-
Habe das Problem nun lösen können. Lag daran das ich nur eine Adresse zugewiesen habe die nach Funktionsaustritt nicht mehr gültig war.
Hab nun aber eine andere Frage
. Wenn ich für einen Zeiger-Vektor dynamisch Speicher allokiereVektor[1] = malloc(10 * sizof(int))int *Vektor[100]. Wird mit
free(Vektor);auch der gesamte Vektor wieder freigegeben? Oder muss ich jeweils einzeln wieder lösen, z.B.
free(Vektor[1]); ...?
MfG
flo
-
musst du einzeln machen