Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       truncate, ftruncate - kürzt eine Datei auf eine bestimmte Länge

       Diese  Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
       die englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 2 truncate

       eingeben.

ÜBERSICHT

       #include <unistd.h>

       int truncate(const char *path, off_t length);
       int ftruncate(int fd, off_t length);

BESCHREIBUNG

       Die Funktionen truncate  und  ftruncate  bewirken,  dass  die  reguläre
       Datei,  die  durch path oder fd angegeben ist, auf eine Größe von exakt
       length Bytes abgeschnitten wird.

       Wenn die Datei vorher größer war, gehen überschüssige  Daten  verloren.
       Wenn  die  Datei  vorher  kleiner  war,  wird  sie  vergrößert  und die
       zusätzlichen Bytes werden als Nullen gelesen.

       Der Dateizeiger wird nicht verändert.

       Für ftruncate muss die Datei zum Schreiben geöffnet sein, für  truncate
       muss die Datei schreibbar sein.

RÜCKGABEWERT

       Bei   Erfolg   gibt   die  Funktion  0  zurück.  Bei  Fehlern  wird  -1
       zurückgegeben und errno entsprechend gesetzt.

FEHLER

       Für truncate:

       EACCES Ein Teil des Pfades kann nicht gelesen  werden  oder  die  Datei
              kann vom Benutzer nicht beschrieben werden.

       EFAULT pfad liegt außerhalb des Programmspeichers.

       EFBIG  Der  Parameter  length  ist  größer als die maximale Dateigröße.
              (XSI)

       EINTR  Während der Ausführung wurde ein Signal empfangen.

       EINVAL Der Parameter length ist negativ oder größer  als  die  maximale
              Dateigröße.

       EIO    Ein I/O Fehler ist beim aktualisieren der Inode aufgetreten.

       EISDIR pfad ist ein Verzeichnis, keine Datei.

       ELOOP  Zu viele Symbolische Links wurden im Pfad gefunden.

       ENAMETOOLONG
              Ein  Teil  des  Pfades  ist  größer  als  255  Zeichen  oder der
              komplette Pfad überschreitet eine Größe von 1023 Zeichen.

       ENOENT Die angegebene Datei existiert nicht.

       ENOTDIR
              Ein Teil des Pfades ist kein Verzeichnis.

       EROFS  Die Datei befindet sich in einem read-only Dateisystem.

       ETXTBSY
              Die Datei ist eine Prozedur, die ausgeführt wird.

       Für ftruncate gelten die gleichen Fehlermeldungen. Anstelle von Dingen,
       die  mit  path  schieflaufen  können,  gibt  es jetzt Dinge, die mit fd
       schiefgehen können:

       EBADF  fd ist kein gültiger Dateideskriptor.

       EINVAL oder EBADF
              fd ist nicht zum Schreiben geöffnet.

       EINVAL fd referenziert einen Socket, nicht eine Datei.

KONFORM ZU

       4.4BSD, SVr4 (diese Funktionsaufrufe traten zuerst  in  BSD  4.2  auf).
       POSIX  1003.1-1996  beschreibt  ftruncate. POSIX 1003.1-2001 beschreibt
       ebenfalls truncate als eine XSI-Erweiterung.

       SVr4 beschreibt zusätzlich die  Fehler  EMFILE,  EMULTIHP,  ENFILE  und
       ENOLINK  für truncate. SVr4 dokumentiert für ftruncate den zusätzlichen
       Fehler EAGAIN.

BERMERKUNGEN

       Die Beschreibung oben  ist  für  XSI-kompatible  Systeme  gedacht.  Für
       nicht-XSI-kompatible  Systeme erlaubt der POSIX-Standard zwei Verhalten
       von ftruncate, wenn length größer ist als die Dateilänge (beachten Sie,
       dass  truncate  ist  für  eine  derartige Umgebung nicht spezifiziert):
       entweder  wird  ein  Fehler  zurückgeliefert  oder   die   Datei   wird
       vergrößert. (Die meisten Unixe folgen den XSI-Anforderungen.)

SEE ALSO

       open(2).

                               8. September 2002                   TRUNCATE(2)