Zeichenketten, Arrays mit Zeichen in c dynamisch füllen
bearbeitet von encoderDen entscheidenden Schritt sehe ich so.
- Bisherigen Pointer merken.
- Neuen größeren Speicherbereich anfordern.
- Daten vom alten in den neuen Speicher kopieren.
- alten Speicher freigeben.
Beim durchdenken stellt man beim kopieren fest dass man den bisherigen Pointer noch braucht, nachdem man den neuen Speicherbereich angelegt hat.
Damit du weißt wie viele Zeichen schon belegt sind und wo du weiter anfügen kannst, musst du natürlich die Länge des Strings merken. Und die verfügbare Maximalgröße.
Manche Sprachen die Strings kennen reservieren sich beim vergrößern gleich mehr Speicher als aktuell nötig. Damit kannst du dir ständiges umkopieren sparen.
Zeichenketten, Arrays mit Zeichen in c dynamisch füllen
bearbeitet von encoderDen entscheidenden Schritt sehe ich so.
- Bisherigen Pointer merken.
- Neuen größeren Speicherbereich anfordern.
- Daten vom alten in den neuen Speicher kopieren.
- alten Speicher freigeben.
Beim durchdenken stellt man beim kopieren fest dass man den bisherigen Pointer noch braucht, nachdem man den neuen Speicherbereich angelegt hat.
Damit du weißt wie viele Zeichen schon belegt sind und wo du weiter anfügen kannst, musst du natürlich die Länge des Strings merken. Und die verfügbare Maximalgröße.
Sprachen die Strings kennen reservieren sich beim vergrößern gleich mehr Speicher als aktuell nötig. Damit kannst du dir ständiges umkopieren sparen.