Rechercher une page de manuel
truncate
Langue: de
Version: 8. September 2002 (openSuse - 09/10/07)
Section: 2 (Appels système)
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).Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre