String zerlegen
-
Wie kann ich in c++ einen string an einer variablen stelle (bestimmtes Zeichen) in zwei Teilstrings teilen? Kann mir wer helfen?
Danke
serious
-
also, wenn du std::string meinst, dann kannst du mit std::copy die hintere Hälfte deines strings in einen neuen Kopieren und die letztemn Zeichen dann aus dem alten rauslöschen.
oder mit strcpy (dann aber char c[x])
-
Hallo,
evtl. auch String Tokenizer: strtok
Wie sehen deine Strings genau aus?MfG
-
jetzt schreib ich mal, was ich überhaupt machen will (vielleicht gibt's ja ne völlig andere Lösung): Also ich mach einen Vokabeltrainer und hab die Vokalbeln in einer .txt-Datei. das schaut ungefähr so aus:
do, tun; *von wem das Vocab eingegeben wurde*
hello, hallo; *von wem das Vocab eingegeben wurde*
und so weiterIch hätte mir gedacht, dass ich den String zerlege, dann einen Vocabelteil ausgebe und die folgende Eingabe mit dem anderen Vocalbelteil vergleiche.
Wie gesagt, vieleicht gibt es ja eine völlig andere Lösung.
-
Suchen
Seperator oder Tokenizer suchen.
-
und wie mach ich das (kenn mich nicht wirklich gut aus)?
-
Vielleicht hilft dir dieser Beitrag weiter:
http://www.c-plusplus.net/forum/viewtopic.php?t=70116&highlight=strtokDie Funktion die du brauchst heisst strtok.
Einfach mal die Suchfunktion (hier im Forum) mit strtok füttern.
Oder MSDN.MfG
-
Hallo,
Das kannst du dir doch schnell selbst schreiben.
const bool MySplit(const string &source,std::string &t1,std::string &t2,const unsigned int pos){ if(pos > source.length()) return false; t1=source.substr(0,pos); t2=source.substr(pos,source.length()); return true; }
Oder so ähnlich.
-
string Seperator(string &source,char del,int pos) { int x=-1; while(pos--) x=1+source.find(del,x); return source.substr(x,source.find(del,x)-x); }