Kleines Problem mit fread



  • /* ========================== Decodierung mit Laden ========================= */
    
    void fileread (void)
    {
    
    clrscr();
    
    FARBE;
    
    char buffer [100];
    
    FILE *Pfile;
    Pfile = fopen ("Coded.txt","rt");
    fread (&buffer,sizeof(buffer),1,Pfile);
    cout << buffer;
    
    fclose (Pfile);
    
    }
    

    Zwar läd mir diese Funktion etwas aus der Txt Coded aber immer nur bis zum ersten backspace wie kann ich alles auslesen? Ich denk mir dass die lösung eigentlich ganz einfach ist komm aber nicht drauf 😕
    mit fgets () hats überhaupt nicht gefunzt



  • Ich kann dir zwar glaub ich nicht helfen und kenne dir Funktion auch nicht, aber bist du sicher dass es nicht sizeof(buffer) / sizeof(char) sein muss? Oder bewirkt das nichts?
    Und sonst mach doch ne while-Schleife und lies alles zeichenweise ein, hat den Vorteil der der Text beliebig lang sein kann, oder nimm getline:

    while (file.good()) {
       string zeile;
       getline(file, zeile);
    // mache was mit zeile
    }
    


  • Warum auf den alten C-Funktionen rumhampeln wenn C++ Alternativen (-> streams) bietet?


Anmelden zum Antworten