CSV Datei Einlesen und die ersten 10 zeilen ausgeben?



  • Hi liebe Freunde,

    ich habe ein Problem.....ich habe ein Code erstellt und lasse meine CSV datei einlesen, jedoch kann ich nur die komplette datei ausgeben lassen....ich brauche allerdings nur die 10 ersten zeilen=( und komme nicht weiter.... kann mir vllt einer helfen ?

    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <stdio.h>

    using namespace std;

    int main()
    {
    string name;
    cout <<"Name des Pfades eingeben: ";
    cin >> name;

    ifstream datei;
    string zeile;
    datei.open(name.c_str());

    if(datei.is_open()) {
    while(getline(datei, zeile))
    {

    for (int i = 0; i < zeile.size(); i++){

    }

    cout<<zeile<<endl;

    }
    datei.close(); //datei wird wieder geschlossen

    }
    else{
    cerr << "Fehler beim Öffnen!"; //gibt diese meldung wieder, falls datei geschützt ist.
    }

    return 0;

    }

    Danke im Vorraus 🙂



  • Wie wäre es in deiner Schleife eine zweite Abbruchbedingung einzubauen, die nach 10 Zeilen abbricht?



  • Habe ich schon Probiert, er gibt mir trotzdem wieder die ganze CSV - Datei wieder ....=(



  • Dann hast du es nicht richtig gemacht. Allgemein ist dein Code etwas wirr.

    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <stdio.h>
    
    using namespace std;
    
    int main()
    {
        string name;
        cout <<"Name des Pfades eingeben: ";
        cin >> name;
    
        ifstream datei;
        string zeile;
        datei.open(name.c_str());
    
        if(datei.is_open()) 
        {
            while(getline(datei, zeile))
            {
               for (int i = 0; i < zeile.size(); i++)
               {
    
               }
               cout<<zeile<<endl;
            }
    
            datei.close(); //datei wird wieder geschlossen
        }
        else
        {
            cerr << "Fehler beim Öffnen!"; //gibt diese meldung wieder, falls datei geschützt ist.
        }
    
        return 0;
    }
    

    Erste Frage: An welcher Stelle sagst du denn, dass du nur 10 Zeilen möchtest. Zweite Frage: Was genau soll die Schleife die nichts tut?

    Wenn du mich fragst müsste es doch eher wie folgt aussehen:

    int zeilenCounter = 0;
    while(getline(datei, zeile) && zeilenCounter < 10)
    {
       cout<<zeile<<endl;
       zeilenCounter++;
    }
    


  • sorry bin Neuling im Programmieren 😃

    Ich möchte das der Editor mir direkt nach dem öffnen der CSV - Datei, nur die ersten 10 Zeilen ausspuckt und nicht das ganze....ich weiss nicht wie und wo ich die Abbruchbedingung überhaupt einsetzen soll.

    LG



  • Sorry, aber das steht in meinem Beitrag. Spezifischer: Am Ende dessen.



  • Hat geklappt !=)
    perfekt danke dir vielmals:)



  • Falsches Unterforum, hier ist C++/CLI, nicht ISO C++.


Anmelden zum Antworten