string char
-
Hi Leutz,
schon ma sorry für so eine billige Frage.Ich kriege es nicht hin einen normalen std::String in ein
Char-Array rein zu kriegen und aus dem Array wieder einen String zu machen.
(will das Char-Array bearbeiten ist also nicht ganz sinnfrei xD)schon mal thx Gruss Irods
PS: Ein kleiner Code-Abschnitt in dem das passiert wäre mega hilfreich xP
-
Du musst das nicht immer rumkopieren wenn du den String manipulieren willst. Du kannst den String auch direkt verändern, z.B. per []-Operator.
-
Konvertieren ist das Stichwort.
-
mm ich will wenn es Chars sind die mit der XOR-Funktion mit einem Char
verknüpfen das geht beim String selber leider nicht.
oder doch?
-
Ja, das geht.
std::string Str("Hallo"); Str[2] ^= 'u';
-
jo thx danke leute
-
Wenn Du es wirklich kopieren willst, dann mache doch einfach eine for-Schleife und weise jedes einzelnes Stringelement deinem char* zur?!
Sollte doch eigentlich klappen....
lg, freakC++
-
freakC++ schrieb:
Wenn Du es wirklich kopieren willst, dann mache doch einfach eine for-Schleife und weise jedes einzelnes Stringelement deinem char* zur?!
Sollte doch eigentlich klappen....
Ja, bestimmt. Aber vielleicht wäre auch std::string::c_str und z.B. strcpy oder strncpy sinnvoller und kürzer. Aber na ja, die richtige Lösung (nicht kopieren) wurde ja schon genannt...
-
_matze schrieb:
freakC++ schrieb:
Wenn Du es wirklich kopieren willst, dann mache doch einfach eine for-Schleife und weise jedes einzelnes Stringelement deinem char* zur?!
Sollte doch eigentlich klappen....
Ja, bestimmt. Aber vielleicht wäre auch std::string::c_str und z.B. strcpy oder strncpy sinnvoller und kürzer. Aber na ja, die richtige Lösung (nicht kopieren) wurde ja schon genannt...
Oder:
std::copy( str.begin(), str.end(), output )
-
David_pb schrieb:
Oder:
std::copy( str.begin(), str.end(), output )Dann fehlt aber die Nullterminierung, falls output ein cstring werden soll.