daten speichern und ausgeben lassen
-
????
kann mir bitte jemand helfen?
mfg
-
gibt es keine lösung??
mfg
-
ich habs doch gut genug erzählt.
anscheinend will mir keiner helfen

-
mach aus dem stringstream einen string. dann kannst du entweder mit c_str einen
const char*bekommen, das sollte idR reichen; oder du kopierst den string in einen vector (wie du ja unbedingt möchtest):string x(stream.str()); vector v(str.begin(), str.end());wenn du allerdings wirklich nur einzelne ziffern in den stringstream aneinanderketten willst, dann könntest du die auch direkt in einzelne chars umwandeln (dazu gab's vor kurzem erst einen beitrag hier)
btw. jede stunde hier nachzufragen, warum dir niemand hilft, ist nur annoying und macht es nicht sehr wahrscheinlich, dass dir jemand hilft. außerdem wurde dir bereits ein lösungsvorschlag gegeben (seite 1).
in der regel heißt es, wenn niemand antwortet, dass du [1] die frage nicht richtig klar gemacht hast, [2] du schon eine antwort hast und [2.1] vielleicht selbst noch ein bisschen nachdenken solltest oder [2.2] dich als antwort-resistent (aka merkbefreit) erweist, [3] im falschen forum postest.
-
queer_boy schrieb:
...
string x(stream.str()); vector<char> v(x.begin(), x.end());...
Braucht man x überhaupt ?
Theoretisch müsste das auch direkt gehen, oder ?vector<char> v(stream.str().begin(), stream.str().end());Gruß,
Simon2.
-
Simon2 schrieb:
string x(stream.str()); vector<char> v(x.begin(), x.end());Braucht man x überhaupt ?
str gibt leider nur eine kopie zurück.
string const& x = stream.str();das würde gehen.
-
queer_boy schrieb:
...str gibt leider nur eine kopie zurück....
Aber was wäre verkehrt daran ?
In Deinem ersten Beispiel hättest Du auch nur mit einer Kopie gearbeitet...Gruß,
Simon2.
-
in deinem beispiel gäbe es zwei kopien.
-
queer_boy schrieb:
in deinem beispiel gäbe es zwei kopien.
Bei Deinem ersten Beispiel doch eigentlich auch, oder ?
Vermutlich kann der Compiler das aber beistring x(stream.str());wegoptimieren ...
Ich hatte mit meiner Frage aber ganz bewusst Optimierung außen vor gelassen, weil mich eigentlich nur interessierte, ob es noch andere Gründe für x gäbe.Gruß,
Simon2.
-
Simon2 schrieb:
vector<char> v(stream.str().begin(), stream.str().end());begin() zeigt auf das erste element der ersten kopie und end() auf (eins hinter) das letzte element der zweiten kopie. das wird dir also um die ohren fliegen.
-
queer_boy schrieb:
...
begin() zeigt auf das erste element der ersten kopie und end() auf (eins hinter) das letzte element der zweiten kopie. das wird dir also um die ohren fliegen.DAS hingegen ist ein Argument, das mich überzeugt.

Danke,
Simon2.