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 allokiere
Vektor[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