fgetc() liest nicht CR ?!!



  • b heißt binär, im Gegensatz zum Textmodus. Im Textmodus wird wohl das \r\n in ein \n umgewandelt, außerdem kannst du Zeichen <30 und >127 nicht lesen ('\n' ist offensichtlich eine Ausnahme).
    Hier die Referenz dazu: http://www.cplusplus.com/reference/clibrary/cstdio/fopen/



  • Bit2_Gosu schrieb:

    Aber b wird ja in den referenzen, die ich kenne, noch nicht mal erwähnt.

    Das kenn ich, die sind meistens Mist. "b" steht für "binary stream mapping". Ich hab das auch durch Folklore gelernt.
    Hab aber gerade nachgesehen: es steht im Standard.

    TC2 7.19.2 schrieb:

    A binary stream is an ordered sequence of characters that can transparently record
    internal data. Data read in from a binary stream shall compare equal to the data that were
    earlier written out to that stream, under the same implementation.

    Im Gegensatz dazu abstrahiert der normale "text stream" die Zeilenumbrüche, so dass ein Programm, das nur '\n' als Zeilentrenner verwendet, portabel sein kann.
    🙂



  • nwp2 schrieb:

    außerdem kannst du Zeichen <30 und >127 nicht lesen

    Sagt wer?
    😕



  • War mir klar dass das wieder auf die Goldwaage gelegt wird.
    Zeichen von 30 bis 127 sind Textzeichen und werden im Textmodus normal gelesen. Zeichen unter 30 und über 127 sind keine Textzeichen und werden im Textmodus nicht richtig gelesen.
    Die genauen Regeln welche Zeichen wie konvertiert werden und was man davon doch lesen kann kenne ich nicht, aber generell sollte man Dateien binär öffnen wenn man sowas lesen will.

    Jetzt kommt natürlich die Liste mit Dateiinhalten <30 >127 die man doch im Textmodus sinnvoll öffnen kann und verzweifelt werden Ausnahmen gesucht, ist mir aber auch egal.



  • Wenn du's nicht sicher weisst, warum tust du dann so?
    🙂



  • Ich tue nicht so, ich helfe Leuten. Übrigens sind deine Zitate aus dem Standard zwar völlig korrekt aber kein bisschen hilfreich.
    Ich werde versuchen in Zukunft auf sowas garnicht mehr zu reagieren.



  • nwp2 schrieb:

    Ich tue nicht so, ich helfe Leuten. Übrigens sind deine Zitate aus dem Standard zwar völlig korrekt aber kein bisschen hilfreich.

    Müsste ich denn im Standard lesen, wenn man sich auf Gespräche im Internet verlassen könnte?

    nwp2 schrieb:

    Ich werde versuchen in Zukunft auf sowas garnicht mehr zu reagieren.

    Hast du sowas nicht erst vor ein paar Wochen gesagt?
    🙂



  • nwp2 schrieb:

    Ich tue nicht so, ich helfe Leuten. Übrigens sind deine Zitate aus dem Standard zwar völlig korrekt aber kein bisschen hilfreich.
    Ich werde versuchen in Zukunft auf sowas garnicht mehr zu reagieren.

    Du hilfst niemandem, wenn du hier Blödsinn erzählst und dann sauer reagierst, wenn man dir aufzeigt, dass du Blödsinn erzählst.



  • Fein, dann lass ich es eben.



  • nwp2 schrieb:

    Fein, dann lass ich es eben.

    Nachdem der rüdi ein Machtwort gesprochen hat, ist die Sache erledigt, das sind wir ihm schuldig.

    Ich wollte ja eigentlich nur klarmachen, dass man es am besten einfach dazusagt, wenn man eine Idee hat, aber nicht genau weiss, ob sie auch hinhaut. Wir werden dich sicher nicht weniger ernst nehmen, wenn du nicht auf alles eine Antwort weisst. Heute hat's mir nur einfach zu apodiktisch geklungen.

    Also: Frieden?
    🙂


Anmelden zum Antworten