Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       truncate, ftruncate - Tronquer un fichier a une longueur donnee

SYNOPSIS

       #include <unistd.h>
       #include <sys/types.h>

       int truncate(const char *path, off_t length);
       int ftruncate(int fd, off_t length);

   Exigences  de  macros  de  test de fonctionnalites pour la glibc (consultez
   feature_test_macros(7)) :

       truncate() :
           _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
           _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
           || /* Depuis la glibc 2.12 : */ _POSIX_C_SOURCE >= 200809L

       ftruncate() :
           _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
           _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
           || /* Depuis la glibc 2.3.5 : */ _POSIX_C_SOURCE >= 200112L

DESCRIPTION

       Les appels truncate() et ftruncate()  tronquent  le  fichier  ordinaire
       reference par path ou par le descripteur fd a une longueur d'exactement
       length octets.

       Si le  fichier  etait  plus  long,  les  donnees  supplementaires  sont
       perdues.  Si  le fichier etait plus court, il est etendu, et la portion
       supplementaire est remplie caracteres nuls (<< \0 >>).

       Le pointeur de position n'est pas modifie.

       Si la taille est modifiee, les champs st_ctime et st_mtime  du  fichier
       (respectivement  heure  de  derniere modification d'etat et de derniere
       modification ; consultez stat(2)) sont mis a jour, et les bits  Set-UID
       et Set-GID peuvent etre effaces.

       Avec  ftruncate(),  le  fichier  doit  etre  ouvert  en ecriture ; avec
       truncate(), il doit etre accessible en ecriture.

VALEUR RENVOY'EE

       S'il reussit, cet appel systeme renvoie 0. S'il echoue, il  renvoie  -1
       et remplit errno en consequence.

ERREURS

       Pour truncate() :

       EACCES Le  fichier  n'est  pas accessible en ecriture, ou un element du
              chemin d'acces ne  permet  pas  le  parcours.  (Consultez  aussi
              path_resolution(7).)

       EFAULT Path pointe en dehors de l'espace d'adressage accessible.

       EFBIG  L'argument length depasse la taille maximum d'un fichier.

       EINTR  Un signal a ete capture pendant l'execution.

       EINVAL L'argument  length  est  negatif  ou  plus  grand  que la taille
              maximale d'un fichier.

       EIO    Une erreur d'entree-sortie bas niveau s'est produite.

       EINTR  Alors qu'il etait bloque  en  attente  de  fin,  l'appel  a  ete
              interrompu par un gestionnaire de signal ; consultez fcntl(2) et
              signal(7).

       EISDIR Le fichier est en realite un repertoire.

       ELOOP  Trop de liens symboliques ont ete rencontres  en  parcourant  le
              chemin.

       ENAMETOOLONG
              Un  composant  du  chemin  depasse  255  caracteres ou le chemin
              complet depasse 1023 caracteres.

       ENOENT Le fichier indique n'existe pas.

       ENOTDIR
              Un element du chemin d'acces n'est pas un repertoire.

       EPERM  Le systeme de fichiers  ne  permet  pas  d'agrandir  un  fichier
              au-dela de sa taille actuelle.

       EROFS  Le fichier specifie reside sur un systeme de fichiers en lecture
              seule.

       ETXTBSY
              Le fichier est un programme actuellement en cours d'execution.

       Pour ftruncate() les memes erreurs sont possibles, sauf qu'au lieu  des
       problemes  avec  path,  on peut en avoir avec le descripteur de fichier
       fd :

       EBADF  fd n'est pas un descripteur valable.

       EBADF ou EINVAL
              fd n'est pas ouvert en ecriture.

       EINVAL fd n'est pas un descripteur de fichier ordinaire.

CONFORMIT'E

       BSD 4.4, SVr4, POSIX.1-2001  (ces  appels  systeme  sont  apparus  dans
       BSD 4.2).

NOTES

       Les   details  dans  la  section  DESCRIPTION  sont  ceux  de  systemes
       compatibles XSI. Pour les systemes non compatibles, le  standard  POSIX
       autorise  deux  comportements  pour ftruncate() quand length depasse la
       longueur du fichier (notez que truncate() n'est pas  du  tout  specifie
       dans  un tel environnement) : soit renvoyer une erreur, soit etendre le
       fichier. Linux, comme la plupart des UNIX, suit le comportement XSI sur
       les  systemes  de  fichiers  natifs.  Cependant,  certains  systemes de
       fichiers non natifs ne permettent pas l'utilisation  de  truncate()  et
       ftruncate()  pour etendre un fichier au-dela de sa taille actuelle : un
       exemple notable sous Linux est VFAT.

       Les appels systeme truncate() et ftruncate() originaux de  Linux  n'ont
       pas  ete  concus  pour  gerer  les  positions dans des fichiers de tres
       grosse taille. En consequence, Linux 2.4 a ajoute  les  appels  systeme
       truncate64() et ftruncate64() qui permettent de gerer de gros fichiers.
       Cependant, ces details peuvent etre ignores par  les  applications  qui
       utilisent   la   glibc,   car  ses  fonctions  encapsulent  de  maniere
       transparente les appels systeme les plus recents disponibles.

BOGUES

       Un bogue dans les en-tetes de la glibc 2.12 fait que la valeur minimale
       de  _POSIX_C_SOURCE  requise  pour  exposer  la declaration ftruncate()
       etait 200809L au lieu de 200112L. Ce  bogue  a  ete  corrige  dans  les
       versions ulterieures de la glibc.

VOIR AUSSI

       open(2), stat(2), path_resolution(7)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.32 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).    Julien
       Cristau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.