Provided by:
manpages-de-dev_0.5-4.1ubuntu1_all 
BEZEICHNUNG
truncate, ftruncate - kürzt eine Datei auf eine bestimmte Länge
Ü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)