Provided by: manpages-fr-dev_3.27fr1.4-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() :
           Depuis la glibc 2.12 :
               _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED ||
               _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.12 :
               _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

       ftruncate() :
           Depuis la glibc 2.12 :
               _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED ||
               _POSIX_C_SOURCE >= 200809L
           Entre les glibc 2.3.5 et 2.11
               _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED ||
               _POSIX_C_SOURCE >= 200112L
           Avant la glibc 2.3.5 :
               _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

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

       La description ci-dessus est celle des 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.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  3.27  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> >>.