Christian Bliß: sysopen und O_TRUNC

Hallo,

gerne würde ich den Inhalt einer TXT-Datei löschen, dazu der Code:

---------------------------------
sysopen (TAG, "$root/1.txt", O_TRUNC) or die "$!";
close (TAG);
---------------------------------

warum funktioniert das nicht?

MfG
Christian Bliß

  1. Hallo Christian,

    gerne würde ich den Inhalt einer TXT-Datei löschen, dazu der Code:


    sysopen (TAG, "$root/1.txt", O_TRUNC) or die "$!";
    close (TAG);

    warum funktioniert das nicht?

    Weil sysopen() gar nicht weiß, wie es die Datei öffnen soll, also ob sie gelesen oder ob in sie geschrieben werden soll. Versuch es also mal so:
    sysopen(TAG,"$root/1.txt",O_WRONLY | O_TRUNC) or die $!;

    Wobei, ich halte es hier für unnötig, direkt sysopen() zu bemühen. open() mit dem Modus ">" reicht vollkommen aus.

    Viele Grüße
      Patrick Canterino

    --
    "Des sin Töcken - eine Spezialität von Ausländern und Deutschen!" (De Brillenomnes)
    1. Wobei, ich halte es hier für unnötig, direkt sysopen() zu bemühen. open() mit dem Modus ">" reicht vollkommen aus.

      Viele Grüße
        Patrick Canterino

      Hallo Patrick,

      gute Idee - funktioniert nun! Danke.

      MfG
      Christian