Leeren String erzeugen
-
ich möchte einen leeren string erzeugen, der eine bestimmte länge hat. ich habe folgendes versucht:
std::string text(10, "" );
std::string text(10, NULL );
hat aber beides nicht funktioniert.
-
''
-
' '
-
dann steht doch ein leerzeichen drin?
-
resize(10);
oder '\0'
-
funktioniert leider nicht so recht.
#include <string> #include <iostream> int main( ) { std::string text(10, '\0' ); if( text == '\0') { std::cout << "text: " << text << "ende" << std::endl; } std::cin.get(); }
eigentlich möchte ich einen leeren string erzeugen und danach aufgrund von evtl. speicheroverflows prüfen ob er angelegt wurde. in C hab ich das mit text == NULL gemacht. leer sollte der string deshalb sein, damit ich später einfach mit += stringschnipsel anhängen kann.
-
sowas ist sinnlos.
-
warum und was wäre sinnvoll?
-
std::string leer; leer.resize(10); leer += ...; leer += ...;
Und schauen ob er leer ist:
if(leer.size() == 0) { ... }
-
Thomas (: schrieb:
Und schauen ob er leer ist:
if(leer.size() == 0) { ... }
ider:
if(leer.empty()) { ... }
-
PaRu schrieb:
ich möchte einen leeren string erzeugen, der eine bestimmte länge hat.
Das ist ein Widerspruch. Ein leerer String hat die Länge 0.
-
Bashar schrieb:
PaRu schrieb:
ich möchte einen leeren string erzeugen, der eine bestimmte länge hat.
Das ist ein Widerspruch. Ein leerer String hat die Länge 0.
Kein Widerspruch:
std::string s;
So hat der String s eine bestimmte Länge - nämlich 0. Ein leerer String hat per Definition die Länge 0. Na ja - das ist wohl die Antwort, die ein Mathematiker geben würde
.
Tntnet
-
tntnet schrieb:
Bashar schrieb:
PaRu schrieb:
ich möchte einen leeren string erzeugen, der eine bestimmte länge hat.
Das ist ein Widerspruch. Ein leerer String hat die Länge 0.
So hat der String s eine bestimmte Länge [...] Na ja - das ist wohl die Antwort, die ein Mathematiker geben würde
Hätte der Mathematiker nicht erkannt, dass "bestimmt" in diesem Zusammenhang "beliebig gegeben" heißen soll -- und somit doch einen Widerspruch darstellt?
*scnr*