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!