Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
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> >>.