fopen mit a parameter



  • hallo, ich habe ein verständnisproblem:

    "a"
    Opens for writing at the end of the file (appending) without removing the EOF marker before writing new data to the file; creates the file first if it doesn‚t exist

    heißt das, es wir hinter EOF der datei geschrieben? wie kommt man dann an die daten ran.

    😕



  • Das ist Blödsinn. Keine Datei die ich je gesehen habe, hat einen EOF marker.
    Aber das hast du sicher gewußt, oder?



  • fopen n00b schrieb:

    "a"
    Opens for writing at the end of the file (appending) without removing the EOF marker before writing new data to the file;



  • fopen n00b schrieb:

    heißt das, es wir hinter EOF der datei geschrieben? wie kommt man dann an die daten ran.

    Um's zu erklären: EOF ist normalerweise kein Datum, das in der Datei steht, sondern eine Rückmeldung des Dateisystemstatus. Wenn Du eine Datei für append öffnest, stehst Du logischerweise am Ende der Datei und der Text sagt nur, daß das einfach so ist, solange Du nichts weiteres hineinschreibst.

    Alle Klarheiten beseitigt? 😃



  • pointercrash() schrieb:

    Um's zu erklären: EOF ist normalerweise kein Datum, das in der Datei steht...

    es gibt/gab tatsächlich betriebssysteme (oder filesysteme), die ein EOF-zeichen ans ende schreiben. irgendwelche ollen cp/m-systeme z.b. hatten das drin. dumm ist sowas aber immer, weil man ja verhindern muss, dass so ein EOF in den daten selber enthalten ist.
    🙂



  • ~fricky schrieb:

    es gibt/gab tatsächlich betriebssysteme (oder filesysteme), die ein EOF-zeichen ans ende schreiben. irgendwelche ollen cp/m-systeme z.b. hatten das drin. dumm ist sowas aber immer, weil man ja verhindern muss, dass so ein EOF in den daten selber enthalten ist.
    🙂

    Deswegen habe ich ja "normalerweise" geschrieben. Soweit ich mich erinnere, ist das bei CP/M mit escape- Sequenzen gelöst, man muß also vor EOF die escape- Kennung setzen und vor escape die escape escape.
    Ein fürchterliches, wenngleich damals übliches Vorgehen, das sich in die Programmiersprachen hineingezogen und dort bis heute gehalten hat. Halbwegs aktuelle Dateisysteme brauchen das aber schon länger nicht mehr, jedenfalls ist mir seit längerer Zeit nicht mehr so Kram untergekommen. Programmiersprachen wurden leider in der Hinsicht nicht modernisiert ... 😉


Anmelden zum Antworten