encoder: Zeichenketten, Arrays mit Zeichen in c dynamisch füllen

Beitrag lesen

Den 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.
Was sagt deine Suchmaschine zu "c string implementation"? Ich sehe die Chance etwas fertiges zu finden das du entweder direkt einsetzen kannst, oder du kannst dir relevante Teile abschauen.