TRUNCATE(2)

NOM
truncate, ftruncate - Tronquer un fichier a une longueur donnee.

SYNOPSIS
#include <unistd.h>

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

DESCRIPTION
Truncate tronque le fichier reference par path ou par le descripteur fd a une longueur maximale de length octets. Si le fichier etait plus long les donnees supplementaires sont perdues. Avec ftruncate, le fichier doit etre ouvert en ecriture.

VALEUR RENVOYEE
truncate, et ftruncate renvoient 0 s'ils reussissent et -1 s'ils echouent, auquel cas errno contient le code d'erreur.

ERREURS
Pour truncate:

ENOTDIR
    un composant du chemin d'acces n'est pas un repertoire

EINVAL
    Un mauvais caractere dans le chemin d'acces.

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

ENOENT
    Le fichier n'existe pas

EACCES
    Un composant du chemin d'acces ne permet pas le parcours

EACCES
    Le fichier n'est pas accessible en ecriture.

ELOOP
    Le chemin contient une reference circulaire (a travers un lien symbolique)

EISDIR
    Le fichier est en realite un repertoire

EROFS
    Le fichier se trouve sur un systeme de fichiers en lecture seule.

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

EIO Une erreur d'entree/sortie s'est produite pendant la mise a 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 ecriture.

CONFORMITE
BSD 4.4, SVr4 (cette fonction est apparue dans BSD 4.2). SVr4 mentionne des conditions d'erreurs supplementaires pour truncate EINTR, EMFILE, EMULTIHOP, ENAMETOOLONG, ENFILE, ENOLINK, ENOTDIR. La version SVr4 de ftruncate dispose des conditions d'erreur supplementaires EAGAIN et EINTR.

BUGS
Ces appels devraient etre generalises pour permettre la suppression d'une zone quelconque d'un fichier.

VOIR AUSSI
open(2)