backbone: dateizeiger auf position setzen und dort schreiben/über...

moin,

mein problem ist so simpel wie schwer (zumindest für meine
wenigkeit).
ich hab eine datei mit vielen einsen und nullen. nun will ich an
position 9 (sprich am 9ten byte) die null löschen und dafür eine 1
einfügen. ich habe mit fseek schon soviel rumporbiert aber der setzt
einfach den dateizeiger nicht an meine gewünschte position bzw.
fputs schreibt nicht dahin wo ich das will. hier mal der quelltext:

<?php

fseek(fopen("ldata.txt","a"),9);
fputs(fopen("ldata.txt","a"),"1");

?>

was mache ich hier falsch? könnt ihr mir das mal bitte sagen und zeigen wie mans richtig angeht?

schonmal danke im voraus.

tschau

  1. Hallo,

    was mache ich hier falsch? könnt ihr mir das mal bitte sagen und zeigen wie mans richtig angeht?

    <?php

    fseek(fopen("ldata.txt","a"),9);

    Das setzt den Dateizeiger der Datei, auf die ein Handle zeigt, welches von fopen("ldata.txt","a") zurück gegeben wird, auf 9 Byte vom Beginn.

    fputs(fopen("ldata.txt","a"),"1");

    Das schreibt eine "1" an das Ende der Datei "ldata.txt", weil der Handle, der von fopen("ldata.txt","a") zurückgegeben wird auf das Dateiende zeigt.

    So ist der Algorithmus:

    • Dateihandle für "ldata.txt" zum Schreiben öffnen
    • _diesen_ Dateihandle positionieren
    • Daten an die Position _dieses_ Dateihandles schreiben
    • Dateihandle schließen

    viele Grüße

    Axel

    1. moin!

      So ist der Algorithmus:

      • Dateihandle für "ldata.txt" zum Schreiben öffnen
      • _diesen_ Dateihandle positionieren
      • Daten an die Position _dieses_ Dateihandles schreiben
      • Dateihandle schließen

      besten dank. das wollte ich nur wissen. *wieder ein stück schlauer ist*

      tschau