Tokenisieren eines std::string mit strtok
Tokenisieren eines std::string mit strtok erfordert die Konvertierung in ein Zeichen für Kompatibilität. Der Versuch, str.c_str() zu verwenden, führt jedoch zu einem const char-Typ, der nicht für strtok geeignet ist.
Eine Lösung besteht darin, ein istringstream-Objekt zu verwenden, das es Ihnen ermöglicht, einen String als zu behandeln eine Folge von Token. Hier ist ein Beispiel:
#include <iostream> #include <string> #include <sstream> int main() { std::string myText("some-text-to-tokenize"); std::istringstream iss(myText); std::string token; // Use getline() to extract tokens separated by '-' while (std::getline(iss, token, '-')) { std::cout << token << std::endl; } return 0; }
Alternativ sollten Sie die Verwendung der Boost C-Bibliotheken in Betracht ziehen, die zusätzliche String-Manipulations- und Tokenisierungsfunktionen bieten und so mehr Flexibilität und Kontrolle bieten.
Das obige ist der detaillierte Inhalt vonWie tokenisiert man einen std::string mit strtok?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!