String-Tokens mit C std::string trennen
Diese Frage befasst sich mit der Herausforderung, einen C std::string in mehrere Token aufzuteilen. insbesondere die Verwendung des Trennzeichens „;“. Während einige vorgeschlagene Lösungen externe Bibliotheken wie Boost beinhalten, verbieten die Richtlinien für dieses Projekt deren Verwendung. Daher untersuchen wir einen einfacheren Ansatz mithilfe der C-Standardbibliothek.
Eine effektive Methode ist die Verwendung der Funktion std::getline(), die Vielseitigkeit bei der Angabe von Trennzeichen bietet. In diesem Fall können wir den Tokenisierungsprozess wie folgt implementieren:
#include <sstream> #include <iostream> #include <vector> using namespace std; int main() { vector<string> strings; // Vector to store split strings istringstream f("denmark;sweden;india;us"); // Input stringstream string s; // Variable to store individual strings while (getline(f, s, ';')) { cout << s << endl; // Display split string strings.push_back(s); // Store string in vector } }
In dieser Implementierung erstellen wir einen Stringstream aus der Eingabezeichenfolge „Dänemark;Schweden;Indien;us“. Die Funktion std::getline() wird verwendet, um den Stringstream zu durchlaufen und durch das „;“ getrennte Token abzurufen. Trennzeichen. Jedes abgerufene Token wird gedruckt und zur weiteren Verarbeitung dem Zeichenfolgenvektor hinzugefügt.
Durch die Verwendung dieses Ansatzes erreichen wir die gewünschte Tokenisierung der Eingabezeichenfolge, ohne auf externe Bibliotheken angewiesen zu sein und die angegebenen Richtlinien einzuhalten.
Das obige ist der detaillierte Inhalt vonWie teile ich einen String in C mit std::getline() in Token auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!