basic_ifstream



  • Hallo!

    Ich versuche mit einem
    basic_ifstream<unsigned char>
    eine Datei byteweise auszulesen.

    Ich habe bereits versucht mit den >>-Operator einzulesen, mit der read-Funktion und mit der get-Funktion. Aber egal welche Methode ich verwende, bei manchen Zeichen (so zum Beispiel bei 0x1A) liest er einfach 0. Eigenartiges Probelem... Es ist aber nur bei wenigen Bytes. Es liegt sicher am Wert. Wenn ich genau an die gleiche Stelle ein anderes Byte schreibe liest er es erfolgreich.

    Weiß jemand woran das liegt bzw. wie ich so lesen kann, dass es in jedem Fall funktioniert?

    Danke!

    mfg



  • Hi,

    öffne die Datei doch mal binär:

    typedef basic_ifstream<unsigned char> my_ifstream;
    my_ifstream file("data.dat", std::ios::binary );
    // und dann mit
     file.get(); // byte weise lesen
    

    MfG

    Edit: Schreibfehler korrigiert
    Edit2: Dummheitsfehler korrigiert 🤡


Anmelden zum Antworten