Heim  >  Artikel  >  Backend-Entwicklung  >  Wie tokenisiert man einen std::string mit strtok?

Wie tokenisiert man einen std::string mit strtok?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 02:41:02886Durchsuche

How to tokenize a std::string using strtok?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn