Heim >Backend-Entwicklung >C++ >Wie kann ich C-Strings mithilfe von Token effizient aufteilen?

Wie kann ich C-Strings mithilfe von Token effizient aufteilen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-15 02:30:02619Durchsuche

How Can I Efficiently Split C   Strings Using Tokens?

Effizientes Aufteilen von C-Strings mithilfe von Tokens

Für das Aufteilen eines C std::string in Teilstrings basierend auf angegebenen Tokens gibt es mehrere Ansätze überlegen kann. Die effizienteste Lösung hängt von den spezifischen Anforderungen Ihrer Anwendung ab.

In Ihrem Fall sind die Zeichenfolgen durch ; getrennt. Zeichen enthalten und die Verwendung von C-String-Funktionen und Boost eingeschränkt ist, können Sie die Funktion std::getline() verwenden. Mit dieser Funktion können Sie Daten aus einem Stream in einen String einlesen und dabei an einem angegebenen Trennzeichen anhalten.

Nach diesem Ansatz folgt hier ein einfaches Beispiel mit std::getline(), um Ihren String in separate Teilstrings aufzuteilen und zu speichern sie in einem Vektor:

#include <sstream>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    string input = "denmark;sweden;india;us";
    istringstream stream(input);

    vector<string> split_strings;
    string token;

    // Read substrings separated by ';'
    while (getline(stream, token, ';')) {
        cout << token << endl;
        split_strings.push_back(token);
    }
}

Dieser Code zeigt, wie man die Zeichenfolge Zeichen für Zeichen mit std::getline() liest und sie basierend auf ; aufteilt. Trennzeichen und speichern Sie die einzelnen Teilzeichenfolgen in einem Vektor.

Mit diesem Ansatz können Sie Ihre Zeichenfolge effizient in Token aufteilen und alle erforderlichen Verarbeitungs- oder Speichervorgänge gemäß den Anforderungen Ihrer Anwendung durchführen.

Das obige ist der detaillierte Inhalt vonWie kann ich C-Strings mithilfe von Token effizient aufteilen?. 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