C++: Maximale String-Länge?

pixelflat

Super-Moderator
Hallo,
ich muss für die Schule ein Programm schreibn (Verschlüsselung).

Dazu müsste ich wissen, wie groß ein String werden kann. Ich weiß, dass dieser im Heap dynamisch erweitert wird. Aber ist das dann auch genug, um darin zB eine 100MB große Datei rein zu packen? :hmm:

Hoffe hier kennt sich auch jemand mit richtigen Programmiersprachen aus. 😀
 
Dachte ich eigentlich auch...

Der wird ja im Arbeitsspeicher angelegt (Heap gehört ja da rein). Und wenn selbst der zu klein ist, gibts noch die Windows-Auslagerungsdatei. Also hätte man da schon bestimmt ~1GB platz... ?!
 
Danke für die Lohrbeeren, ich hätte jetzt auch auf unendlich getippt, eventuell kannst du ja zum Testen eine Zahl in einer Schleife wachsen lassen und schauen nach wieviel Stellen der String zumacht o.ä.
 
Stimmt, das werd ich mal schnell ausprobiern...

Aber ist das dann allgemein abhängig vom Arbeitsspeicher?
Also bei jemanden mit mehr RAM würde der größer werden?
 
Naja, da ich vermute, dass der wirklich "unendlich" ist, denke ich wird Windows (oder das Programm) irgendwann nicht mehr ganz mitmachen.

Mal ausprobiern...
 
Na nen String kann entweder nen Buffer sein, oder nen statisches Array.
Buffer werden immer zur Laufzeit alloziiert, was ihn theoretisch unendlich groß sein lassen kann, nur der Systemspeicher begrenzt dann das Ganze. Wie sich das Ganze praktisch aussehen lässt, wenn dann kein Speicher mehr zur Verfügung steht, kann ich nicht sagen. Auf jeden Fall birgt sowas immer ein Risiko und es ist schlechter Stil, das Ganze ohne eigene Beschränkung laufen zu lassen.
 
Das stimmt schon mit der Begrenzung... 😕

Würdest du dann diese (sagen wir mal) ~100MB-Datei in mehreren Zügen in ein Array einlesen?
 

Online-Statistiken

Zurzeit aktive Mitglieder
1
Zurzeit aktive Gäste
23
Besucher gesamt
24

Beliebte Forum-Themen

Zurück
Oben Unten