String teilen?
-
Hallo,
wie teile ich einen String folgendermaßen:
Ich habe einen String s=abcdefghijklmnop
danach möchte ich haben:s so teilen, dass es nur 4-er Stücke sind und jedes 4-er Stück in eigene Variable:
s1=abcd
s2=efgh
s3=ijkl
s4=mnopWie mache ich das?
Ach ja: Ich muss außerdem vorher rausbekommen, an welcher Stelle die Abschlussnull ist!
-
Moin,
z.B. mit der Funktion
basic_string substr(size_type pos = 0, size_type n = npos) const;
z.B.
std::string s = "abcdefghij";
std::string s1 = s.substr(0, 4);
std::cout << s1 << std::endl;Wenn Du die Position erst finden musst, dann mit Stringfunktionen z.B.
find_first_of nach der entsprechenden Stelle suchen.
Vorher vielleicht noch die Länge mit s.length() ermitteln.
-
Vielen Dank und neue Frage:
Wie kann ich ein char in ein String umwandeln, um deine Lösung anzuwenden?
-
Du kannst ein char-Array einem string einfach zuweisen oder meinst du wirklich ein einzelnes char? Probier es doch einfach mal aus.
-
Hmm man kann nur nicht beim Initialisieren direkt einen char übergeben, sondern nur einen char-array. Mit = als zuweisungsoperator geht's allerdings.
-
Oder einfach per for-Schleife jedes Element des char-Arrays dem String zuweisen?!

-
Warum so aufwendig - string hat noch ein paar weitere Ctoren. Z.B. kannst du per
string text(data,len);einen String aus einem (nicht nullterminierten) char-Array oder perstring text(1,val);aus einem Einzelzeichen erzeugen.