stringstream rückwärts ausgeben
-
Hallo,
hatte im Forum mal nachgeschaut,wie man am besten einen String rückwärts macht/ausgibt. Da bin ich auf die reverse Funktion gestoßen. Nun hab ich jetzt aber einen Stringstream,also dachte ich mir,is genau das gleiche, Beispielprog:
string s = "hallo"; stringstream ss; ss<<s; reverse(ss.str().begin(),ss.str().end());
Nur leider wird mir der Stream nicht rückwärts ausgegeben.Was mache ich falsch? Ich will nicht extra einen String deklarieren,da ich in meinem richtigen Programm keinen String habe...
MfG
meissner
-
str() liefert ein temp. Stringobjekt, welches du umkehrst, das Objekt existiert nach dem Aufruf von Reverse nicht mehr.
int main () { string s ("hallo"); stringstream ss; ss << s; string rev_s (ss.str ()); reverse (rev_s.begin (), rev_s.end ()); cout << rev_s; }
-
SirLant schrieb:
str() liefert ein temp. Stringobjekt, welches du umkehrst, das Objekt existiert nach dem Aufruf von Reverse nicht mehr.
Aha,danke.
So hätte ich das dann auch gemacht,aber find ich ja nen bissl blöd mit dem zusätzlichen String,aber wenn es nicht anders geht?
MfG
meissner