Index général des pages de man   Index Section man 2   Table des Matières de truncate   Imprime la page de man truncate en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions du système (section 2)

truncate

 
  

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. 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éalite 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.


Table des matières


Haut de page

© 1996-2000 Adaptation française "Christophe Blaess"