strings rotieren?
-
hallo!
kann ich einen string irgendwie rotieren?
sodass aus ( beispielsweise):string nummer_eins; nummer_eins = "asdf";zum beispiel :
"dfas" wird?hat da wer nen ansatz für eine funktion? ich muss ja irgendwie die zeichen ersetzen oder so.

-
links rotieren, ein zeichen:
#include <stdio.h> #include <string> #include <algorithm> using namespace std; int main() { string s = "1234567"; rotate (s.begin(), s.begin()+1, s.end()); printf (s.c_str()); }für andersrum o.ä. musste die 'rotate' parameter ändern...

-
sind die ganzen includes da nötig?
ty scho ma

-
Na, pale dog

#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string s = "1234567"; rotate (s.begin(), s.begin()+1, s.end()); cout << s.c_str(); }
-
sind die ganzen includes da nötig?
Jup, <iostream> für die Ausgabe, <string> für die std::string Klasse, und <algorithm> für rotate ().
-
ok vielen dank nochma

-
pale dog schrieb:
links rotieren, ein zeichen:
#include <stdio.h> #include <string> #include <algorithm> using namespace std; int main() { string s = "1234567"; rotate (s.begin(), s.begin()+1, s.end()); printf (s.c_str()); }für andersrum o.ä. musste die 'rotate' parameter ändern...

Das soll man übrigens nicht machen, wenn schon printf, dann so:
printf( "%s", s.c_str() );
-
Dann machen wir es auch gleich richtig, und nehmen statt stdio.h cstdio.

-
Oder noch besser, man verzichtet gleich ganz auf printf, und programmiert vernünftiges C++! :p
-
Dann gibt man den String aber auch als solchen aus und nicht als const char*

-
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string s = "1234567"; rotate (s.begin(), s.begin()+1, s.end()); cout << s << endl; }haben wir 's jetzt? Man man, man müsste nen Filter in die Forensoftware einbauen... gegen includes von C-Headern.
-
lolz schrieb:
Das soll man übrigens nicht machen, wenn schon printf, dann so:
printf( "%s", s.c_str() );geht beides, auch ohne formatstring.
oder gleich 'puts()' bemühen.

Artchi schrieb:
haben wir 's jetzt? Man man, man müsste nen Filter in die Forensoftware einbauen... gegen includes von C-Headern.
ich würde lieber 'std::' rausfiltern, dann sehen wir wieder mehr 'using namespace...'

-
Dann gibt man den String aber auch als solchen aus und nicht als const char*
Uups, glatt übersehen.