Heim > Backend-Entwicklung > C++ > Wie kann ich Ganzzahlen effizient aus einer durch Kommas getrennten Zeichenfolge in C extrahieren?

Wie kann ich Ganzzahlen effizient aus einer durch Kommas getrennten Zeichenfolge in C extrahieren?

Mary-Kate Olsen
Freigeben: 2024-12-29 10:02:09
Original
707 Leute haben es durchsucht

How Can I Efficiently Extract Integers from a Comma-Separated String in C  ?

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage