Strings in C ++ aufteilen [duplizieren]

7

Wie teilen Sie eine Zeichenfolge in Tokens in C ++?

    
BobS 09.11.2008, 00:16
quelle

6 Antworten

12

das funktioniert gut für mich :), es bringt die Ergebnisse in elems . delim kann eine beliebige char sein.

%Vor%     
Evan Teran 09.11.2008 00:26
quelle
5

Mit dieser Mingw-Distribution , die Boost enthält:

%Vor%     
Shadow2531 09.11.2008 07:13
quelle
3

Versuchen Sie es mit stringstream:

%Vor%

Sehen Sie sich meine Antwort zu Ihrer letzten Frage an:
C ++ Lesen von Datei-Token

    
Martin York 09.11.2008 00:22
quelle
3

Siehe auch boost :: split von String Algo-Bibliothek

%Vor%     
Sergey Skoblikov 09.11.2008 10:37
quelle
2

Sie können die C-Funktion strtok verwenden:

%Vor%

Der Boost-Tokenizer übernimmt ebenfalls die Aufgabe:

%Vor%     
Imbue 09.11.2008 06:20
quelle
1

Es hängt davon ab, wie komplex das Token-Trennzeichen ist und ob es mehrere gibt. Für einfache Probleme verwenden Sie einfach std :: istringstream und std :: getline. Verwenden Sie für komplexere Aufgaben oder wenn Sie die Token STL-konform iterieren möchten, Boost Tokenizer. Eine andere Möglichkeit (obwohl unordentlicher als eine dieser beiden) besteht darin, eine while-Schleife einzurichten, die std :: string :: find aufruft und die Position des zuletzt gefundenen Tokens als Startpunkt für die Suche nach dem nächsten Token aktualisiert. Aber das ist wahrscheinlich die anfälligste der 3 Optionen.

    
Michel 09.11.2008 00:21
quelle

Tags und Links