datei operationen



  • proggingmania schrieb:

    Probleme hätten auftreten können, wenn in einer Datei der Wert 0xFF stünde.
    0xFF würde als EOF ausgelegt werden, eventuell noch folgende Werte würden nicht gelesen und das ist großer Käse.

    nein, das ist kein problem. EOF ist kleiner als 0 oder grösser als 0xff
    🙂



  • vista schrieb:

    nein, das ist kein problem

    🙂 doch doch 🙂

    Denn:

    (signed char)0xFF ==  EOF;
    

    Was dann beim Einlesen zum Abbruch der Schleife führt, alles was noch eventuell folt wird nicht mehr eingelesen.
    🕶



  • proggingmania schrieb:

    alles was noch eventuell folt

    Kauf dich tüte deutsch, hat mich auch gehilft, das heißt folgt du Vogel.
    MfG



  • proggingmania schrieb:

    Denn:

    (signed char)0xFF ==  EOF;
    

    nö, EOF ist (int)-1 und weil ein 'int' mindestens 16 bits haben muss, ist z.b. EOF 0xffff oder 0x1ffff oder 0x3ffff oder 0x7ffff usw... aber niemals nur 0xff
    🙂



  • Yes sir, das ist dem Lesevorgang aber egal, weil doch nur Byteweise gelesen wird.
    In deinem Beispiel wäre das erst 0x1f , dann 0x2f und bei 0xFF würde EOF interpretiert.
    Stimmt oder hab ich Recht. 😉



  • proggingmania schrieb:

    In deinem Beispiel wäre das erst 0x1f , dann 0x2f und bei 0xFF würde EOF interpretiert.
    Stimmt oder hab ich Recht. 😉

    nee, weil EOF und 0xff sich unterscheiden.
    0xff in einem 16bit 'int' ist 0x00ff und EOF ist im selben datentyp 0xffff.
    weil der computer ganze ints betrachtet, wenn es um EOF geht, gibt's dabei keine verwechselung.
    🙂



  • es sei denn man nimmt chars wie proggingmania, dann geht alles futsch.



  • Wie wir alle wissen gibt es EOF als recordset und als error!



  • 😮 Recordset in ANSI C 😮



  • Nochmal langsam für alle (besonders für dich, proggingmania ;)) zum Mitmeißeln: EOF ist kein char und steht auch nicht als expliziter Wert in deiner Datei. Sobald du natürlich die Rückgabe von getch() auf char-Größe zusammenpresst, kannst du es nicht mehr von dem (in einer realen Datei durchaus möglichen) char-Wert (char)0xFF (implementierungsabhängig entweder -1 oder 255) unterscheiden. Daß EOF ((int)-1) und (signed char)-1 zufällig den selben Wert darstellen, ist dann belanglos.

    proggingmania schrieb:

    proggingmania schrieb:

    alles was noch eventuell folt

    Kauf dich tüte deutsch, hat mich auch gehilft, das heißt folgt du Vogel.

    Wenn die Trolle schon anfangen, sich selbst zu attackieren, können wir uns ja hier zurückziehen 😃 🕶



  • CStoll schrieb:

    ...und steht auch nicht als expliziter Wert in deiner Datei.

    Bingo, mein Reden.

    CStoll schrieb:

    Wenn die Trolle schon anfangen, sich selbst zu attackieren.

    Ähm, hüstel, wie bitte, Trolle ?



  • proggingmania schrieb:

    CStoll schrieb:

    ...und steht auch nicht als expliziter Wert in deiner Datei.

    Bingo, mein Reden.

    Und wieso versuchst du dann seit ca. 4 Seiten uns zu erklären, daß EOF in ein char reinpassen könnte?

    CStoll schrieb:

    Wenn die Trolle schon anfangen, sich selbst zu attackieren.

    Ähm, hüstel, wie bitte, Trolle ?

    Wenn du der Meinung bist, daß du kein Troll bist, brauchst du dich auch nicht angesprochen zu fühlen 😃 Ich fand's nur lustig, daß du dich selbst (oder läuft hier noch ein anderer "proggingmania" herum?) mit einem "Kauf dich tüte deutsch, hat mich auch gehilft..." angeplfaumt hast.



  • CStoll schrieb:

    Und wieso versuchst du dann seit ca. 4 Seiten uns zu erklären, daß EOF in ein char reinpassen könnte?

    Passt ja auch rein, vom Wert her 😃
    Ich habe halt 4 Seiten lang gebraucht um zu kapieren, das es unter Umständen nicht unbedingt günstig ist, mit einem char EOF abzufragen. 😉



  • proggingmania schrieb:

    Ich habe halt 4 Seiten lang gebraucht um zu kapieren, [...]

    traurig.

    greetz, Swordfish



  • wenn du es traurig nennst, dass einer ueber 4 seiten so tut, als ob er es nicht rafft...



  • Wäre beides traurig.

    greetz, Swordfish



  • So oder so. Die Luft ist raus aus dem Thread. Ich schliesse die Peinlichkeit mal.


Anmelden zum Antworten