Extrahieren numerischer Daten aus durch Kommas getrennten Zeichenfolgen in C
Das Parsen von Daten aus durch Kommas getrennten Zeichenfolgen in numerische Arrays stellt eine häufige Herausforderung bei der Programmierung dar . Für den speziellen Fall von Ganzzahlen bietet C mehrere einfache Ansätze.
Grundlegender Parsing-Algorithmus:
Eine einfache Methode besteht darin, die Zeichenfolge Zeichen für Zeichen zu durchlaufen. Überprüfen Sie für jedes Zeichen, ob das nächste Zeichen ein Komma ist. Wenn ja, verwerfen Sie das Komma. Andernfalls konvertieren Sie das Zeichen in eine Ganzzahl und speichern Sie es im Array.
Verwendung von istringstream:
Die C-Standardbibliothek bietet die Klasse istringstream zum Parsen von Eingabeströmen. Um Zahlen aus einer durch Kommas getrennten Zeichenfolge zu extrahieren, erstellen Sie ein istringstream-Objekt mit der Zeichenfolge als Eingabe. Verwenden Sie dann den Stream-Extraktionsoperator >> um jede Zahl einzeln zu extrahieren.
Implementierung:
Der folgende Codeausschnitt demonstriert den grundlegenden Parsing-Algorithmus mit istringstream:
#include <vector> #include <string> #include <sstream> #include <iostream> int main() { std::string str = "1,2,3,4,5,6"; std::vector<int> vect; std::stringstream ss(str); for (int i; ss >> i;) { vect.push_back(i); if (ss.peek() == ',') ss.ignore(); } for (std::size_t i = 0; i < vect.size(); i++) std::cout << vect[i] << std::endl; return 0; }
Andere Optionen:
Für komplexere Parsing-Szenarien ist die Die C-Standardbibliothek bietet zusätzliche Optionen wie die Strtok-Funktion und reguläre Ausdrücke. Für einfache durch Kommas getrennte Ganzzahllisten sind die oben genannten Methoden jedoch normalerweise ausreichend und einfach zu implementieren.
Das obige ist der detaillierte Inhalt vonWie kann ich Ganzzahlen effizient aus einer durch Kommas getrennten Zeichenfolge in C extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!