Les MANs Linux en français...
TRUNCATE
Section: Manuel du programmeur Linux (2)Updated: 30 Août 2000
Index Retour au Menu Principal
NOM
truncate, ftruncate - Tronquer un fichier à une longueur donnée.SYNOPSIS
#include <unistd.h>
int truncate(const char *path, off_t length);
int ftruncate(int fd, off_t length);
DESCRIPTION
Truncate tronque le fichier référencé par path ou par le descripteur fd à une longueur maximale de length octets.Si le fichier était plus long, les données supplémentaires sont perdues. Si le fichier était plus court, on ne sait pas s'il est laissé intact, ou s'il est étendu (mais il est étendu sur les systèmes conformes XSI). Dans ce dernier cas, la portion supplémentaire est remplie de zéros. Avec ftruncate, le fichier doit être ouvert en écriture.
VALEUR RENVOYÉE
truncate, et ftruncate renvoient 0 s'ils réussissent et -1 s'ils échouent, auquel cas errno contient le code d'erreur.ERREURS
Pour truncate:- ENOTDIR
- un composant du chemin d'accès n'est pas un répertoire
- ENAMETOOLONG
- Un composant du chemin dépasse 255 caractères ou le chemin complet dépasse 1023 caractères.
- ENOENT
- Le fichier n'existe pas
- EACCES
- Un composant du chemin d'accès ne permet pas le parcours
- EACCES
- Le fichier n'est pas accessible en écriture.
- ELOOP
- Le chemin contient une référence circulaire (à travers un lien symbolique)
- EISDIR
- Le fichier est en réalité un répertoire
- EROFS
- Le fichier se trouve sur un système de fichiers en lecture seule.
- ETXTBSY
- Le fichier est un programme actuellement en cours d'exécution.
- EIO
- Une erreur d'entrée/sortie s'est produite pendant la mise à jour.
- EFAULT
- Path pointe en dehors de l'espace d'adressage accessible.
Pour ftruncate:
- EBADF
- fd n'est pas un descripteur valide.
- EINVAL
- fd est une socket, pas un fichier.
- EINVAL
- fd n'est pas ouvert en écriture.
CONFORMITÉ
BSD 4.4, SVr4 (cette fonction est apparue dans BSD 4.2). SVr4 mentionne des conditions d'erreurs supplémentaires pour truncate EINTR, EMFILE, EMULTIHOP, ENAMETOOLONG, ENFILE, ENOLINK, ENOTDIR. La version SVr4 de ftruncate dispose des conditions d'erreur supplémentaires EAGAIN et EINTR. POSIX dispose de ftruncate mais pas de truncate.Le standard Posix ne précise pas ce qui se passe si le fichier contient moins de length octets.
BOGUES
Ces appels devraient être généralisés pour permettre la suppression d'une zone quelconque d'un fichier.VOIR AUSSI
open(2)TRADUCTION
Christophe Blaess, 1997.
Index
Time: 21:45:53 GMT, December 19, 2004