Dynamisches Array
-
Hallo! Vielleicht kann mir jemand bei meinem Problem helfen. Ich möchte aus einer Datei zeilenweise dynamisch in ein char-Array einlesen. Zur Kompilierzeit ist also nicht bekannt, wie lange das Array sein muß. Beim Zeilenende "\n" möchte ich anhalten, die eingelesene Zeile überprüfen und danach mit der nächsten Zeile in den gleichen Puffer einlesen. Mein Problem ist, daß ich nicht über einen festen Puffer von 80 Zeichen char[80] einlesen möchte sondern je nach länge der Zeile ein dynamisch erzeugbares char array benutze.
Wie könnte so etwas gehen?
-
Zeichenweise einlesen mit fgetc, realloc des Zeilenpuffers+Stringarrays und setvbuf zur Performanzverbesserung
-
Wenn du malloc und free jetzt noch nicht kennst, dann wird es jetzt dafür Zeit. Wenn du Hilfe in Form von Code erwartest solltest du schreiben was du hast und wo du nicht weiter kommst.
-
malloc
undfree
braucht der ganz sicher nicht.
1. Das benötigte realloc (inklusive weiterer Funktionen) wurde schon genannt.
2. Was er schon hat und nicht hat er schon erwähnt.
3. Code hat er überhaupt nicht verlangt.
4. etc.
-
Das er malloc und free nicht braucht stimmt zwar, aber ich finde
ptr=malloc(1024); free(ptr);
besser lesbar als
ptr=realloc(0,1024); realloc(ptr,0);
Ausnahme ist natürlich wenn man durch Benutzung von realloc irgendwie size als variable nehmen und ne Schleife basteln kann