Überlauf von stringeingaben vermeiden

keydo

Grünschnabel
Hallo, diesemal hab ich erstmal nur eine theoretische Frage.

Im groben geht es um ein kleines Programm welches einen String vom Benutzer einliest und die Anzahl der Strings ausgibt und wiederholt bis ein leerer string eingegeben wurde. Nichts großes. Nun meine Frage:

Wie kann ich bei der Zeichenketteneingabe ein Überlauf des
für den String bereitgestellten Arrays verhindern?

Was gibt es da für Möglichkeiten?
 
Hallo,

verhindern kannst du das, in dem Du dynamisch den Speicher nach Bedarf alloziierst oder gleich auf ein string Objekt zurückgreifst. Die STL bietet ein ensprechendes Objekt.
Da ist theoretisch der verfügbare RAM die Grenze ;).

Kommt eben an welchen Aufwand du treiben wilst/kannst/musst.

Gruß René
 
oh, dann schau ich mir die STL Bibliothek genauer an ^^

Kann mit getline(cin, strg) überhaupt ein Überlauf erzeugt werden(unbeabsichtigt) ?
 
Je nach dem was strg für ein Typ ist.

Sollte das ein Array von char sein, sagen wir mal 100 davon kann es schon passieren ;).
Normal kommt es nicht zum Überlauf wenn es ein string Objekt ist.

Denk ahlt vorher über die Anforderungen nach - bzw. denk weiter ;).

Gruß René
 
Zurück