0Pricing
C++ Academy · Lektion

CSV-Dateien lesen und schreiben

Analysieren Sie CSV-Dateien zeilenweise und schreiben Sie Ergebnisse zurück auf die Festplatte.

CSV-Dateien lesen und schreiben ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist CSV?

CSV (Comma-Separated Values) ist ein tabellarisches Klartextformat. Jede Zeile ist eine Zeile der Tabelle, Kommas trennen die Spalten. Das Format ist einfach, steckt aber voller Sonderfälle.

Benötigte Header

Verwenden Sie fstream für Dateien und sstream zum Parsen.

#include <fstream>
#include <sstream>
#include <string>
#include <vector>

Eine Datei zum Lesen öffnen

Erzeugen Sie einen std::ifstream mit dem Dateipfad. Prüfen Sie, ob die Datei geöffnet wurde.

std::ifstream file("data.csv");
if (!file) {
    std::cerr << "Cannot open file\n";
    return 1;
}

Zeile für Zeile lesen

Verwenden Sie std::getline, um die Zeilen zu durchlaufen.

std::string line;
while (std::getline(file, line)) {
    process(line);
}

Eine Zeile aufteilen

Verwenden Sie einen stringstream und getline mit einem Trennzeichen, um jede Zeile in Felder aufzuteilen.

std::vector<std::string> split(const std::string& line) {
    std::vector<std::string> fields;
    std::stringstream ss(line);
    std::string field;
    while (std::getline(ss, field, ',')) {
        fields.push_back(field);
    }
    return fields;
}

Die Kopfzeile überspringen

Lesen und verwerfen Sie die erste Zeile, wenn sie Spaltennamen enthält.

std::string header;
std::getline(file, header);   // discard

Typisierte Felder parsen

Konvertieren Sie Zeichenkettenfelder mit std::stoi oder std::stod in typisierte Werte.

auto fields = split(line);
int id = std::stoi(fields[0]);
double price = std::stod(fields[2]);

CSV schreiben

Verwenden Sie std::ofstream zum Schreiben. Schreiben Sie Werte mit << in den Stream und fügen Sie Kommas und Zeilenumbrüche hinzu.

std::ofstream out("results.csv");
out << "name,score\n";
out << "Ada,95\n";
out << "Bob,82\n";

Felder mit Kommas in Anführungszeichen setzen

Wenn ein Feld ein Komma enthält, setzen Sie es in doppelte Anführungszeichen. Um ein Anführungszeichen innerhalb des Feldes einzufügen, verdoppeln Sie es.

std::string escape(const std::string& s) {
    if (s.find_first_of(",\"\n") == std::string::npos) return s;
    std::string r = "\"";
    for (char c : s) {
        if (c == '"') r += '"';
        r += c;
    }
    return r + "\"";
}

Zeilenumbrüche in Feldern behandeln

Felder in Anführungszeichen können sich über mehrere physische Zeilen erstrecken. Ein robuster CSV-Reader verfolgt den Anführungszeichenstatus über mehrere Aufrufe von getline hinweg. Für einfache Fälle sollten Sie bei Feldern ohne Zeilenumbrüche bleiben.

Die Datei schließen

Dateistreams werden beim Zerstören automatisch geschlossen (RAII). Für ein explizites Schließen verwenden Sie file.close() – das ist nur erforderlich, wenn Sie den Stream wiederverwenden möchten.

Wann eine Bibliothek sinnvoll ist

Verwenden Sie für komplexe CSV-Dateien (Kommas in Anführungszeichen, mehrzeilige Werte, Kodierung) eine Bibliothek wie rapidcsv oder csv-parser. Implementieren Sie nur für einfache, kontrollierte Formate eine eigene Lösung.

Kurztest

Welche Technik teilt eine Zeile ausschließlich mit der Standardbibliothek an Kommas auf?

Zusammenfassung

Lesen Sie CSV mit std::ifstream + std::getline, teilen Sie Zeilen mit einem stringstream und einem Komma als Trennzeichen auf und parsen Sie typisierte Felder mit std::stoi/stod. Verwenden Sie für komplexe CSV-Dateien eine geeignete Bibliothek.

Häufig gestellte Fragen

Ist die Lektion „CSV-Dateien lesen und schreiben“ kostenlos?

Ja — der vollständige Text von „CSV-Dateien lesen und schreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „CSV-Dateien lesen und schreiben“?

Analysieren Sie CSV-Dateien zeilenweise und schreiben Sie Ergebnisse zurück auf die Festplatte. Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „CSV-Dateien lesen und schreiben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Eine einfache Taschenrechner-CLI erstellen
  2. CSV-Dateien lesen und schreiben
  3. Ein Zahlenratespiel
  4. Ein Worthäufigkeitszähler
← Zurück zu C++ Academy