Datei in Variable speichern



  • Hallo

    Ganz einfache Frage: 🙂

    Bis jetzt habe ich Dateien(von der Festplatte) immer so eingelesen:

    string pfad;
    cin>>pfad;
      fstream in;
       in.open(pfad.c_str(), ios::in);
    
            string txt;
            char c;
            while(in>>c)
            {
             txt+=c;
            } 
           // Jetzt habe ich aber nur eine Zeile
    

    wenn ich das aber so mache dann liest er nur eine Zeile.
    (Ich lerne C++ erst seit ein paar Monaten)

    Bitte Hilfe 😃



  • der stream operator (>>) liest nur formatiert aus.
    Wenn du eine bestimmte Anzahl von zeichen lesen willst, dann nimm
    istream::read().



  • Hallo

    DrPhil_Guth schrieb:

    dann nimm istream::read().

    Wie gesagt ich lerne C++ erst seit ein paar Monaten.
    Könntest du etwas allgemeiner (so dass es ein Anfänger versteht) formulieren?

    Danke



  • Um eine ganze Zeile einzulesen, kannst du es dir auch einfacher machen

    siehe hier :

    string pfad;
    cin>>pfad;
      fstream in;
       in.open(pfad.c_str(), ios::in);
    
            string txt;
            while(getline(in,txt)
            {
             cout<<"Zeile: "<<txt<<endl;
            }
           // Jetzt hast du eine Zeile auf einmal eingelesen ohne das ding zeichen für zeichen zu lesen
    


  • Ok

    jetzt habe ich es verstanden

    Danke 😃


Anmelden zum Antworten