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

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION


Time: 21:45:53 GMT, December 19, 2004