Provided by:
manpages-fr-dev_3.32d0.2p4-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() :
_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> >>.