String-Funktionen
-
Hi!
Ich habe einen Text, der durch ein bestimmtes Zeichen immer getrennt wird. Nun möchte ich diese Abschnitte zwischen dem Trennungszeichen herausschneiden. Wie kann ich das machen? Ich habe es schon mit der String-klasse versucht, doch keine passende Funktion gefunden. Kann mir bitte jemand helfen?
Danke schonmal im Vorraus,
Flo
-
Nun mit
std::string find_first_of
und
std::string substr( start, stop - start );kannst Du Dir recht leicht eine entpsrechende Funktion zusammenbauen.
Gruß
Gerhard
-
Das ganze kannste mit den Implementierten Funktionen von AnsiString machen.
AnsiString Test = "Hallo;Das;ist;ein;Test;"; AnsiString Wort[5]; int x = 0; while (Test.Pos(";") != 0) { Wort[x] = Test.SubString(1, Test.Pos(";")); Test.Delete(1, Test.Pos(";")); x++; }
Genauer solltest du dir also die Methoden .Pos() , .SubString() , und .Delete anschauen.
Anstatt dem ";" als Trennzeichen kannst du jedes andere Zeichen deíner Wahl verwenden. Denk daran die Größe des Arrays anzugleichen.MFG Blade
-
Das ganze kannste mit den Implementierten Funktionen von AnsiString machen
Hier ist das *Standard*-C++ Forum. Da gibt's kein AnsiString. Nur std::string und good-old-char-Arrays.
-
und bei den "good old char Arrays" nimmst die funktion strtok um das ganze zu zerschnibbeln und dann strcpy, bzw. strcat(?) um alles wieder zusammenzufügen wie du es brauchst.
Achja, zusätzlich brauchst ein paar Zeiger und genug reservierten sopeicher
-
Dankeschön, das Problem hat sich gelöst!