Provided by:
manpages-es_1.55-10_all 
NOMBRE
truncate, ftruncate - trunca un fichero a una longitud especificada
SINOPSIS
#include <unistd.h>
#include <sys/types.h>
int truncate(const char *path, off_t length);
int ftruncate(int fd, off_t length);
DESCRIPCI'ON
Las funciones truncate y ftruncate hacen que el fichero regular cuyo
nombre es path o que es referenciado por fd sea truncado a un tamano de
length bytes.
Si el fichero era previamente mas grande que este tamano, los datos
extra se pierden. Si el fichero era previamente mas pequeno, es
extendido, y la zona ampliada es rellenada con bytes cero.
El puntero del fichero no se modifica.
Si el tamano cambia, los campos ctime y mtime del fichero son
actualizados, y los bits de modo suid y sgid pueden ser limpiados.
Con ftruncate, el fichero debe estar abierto para escritura; con
truncate, el fichero debe ser escribible.
VALOR DEVUELTO
En caso de exito, se devuelve cero. En caso de error, se devuelve -1
y se establece el errno apropiado.
ERRORES
Para truncate:
EACCES Se deniega el permiso de busqueda para un componente del prefijo
de la ruta, o el fichero nombrado no puede ser escrito por el
usuario.
EFAULT Path apunta fuera del espacio de direcciones asignado al
proceso.
EFBIG El argumento length es mayor que el tamano maximo de fichero.
(XSI)
EINTR Se capturo una senal durante la ejecucion.
EINVAL El argumento length es negativo o mayor que el tamano maximo de
fichero.
EIO Ocurrio un error de E/S mientras se actualizaba el nodo-i.
EISDIR El fichero nombrado es un directorio.
ELOOP Demasiados enlaces simbolicos en la traduccion del nombre de
ruta.
ENAMETOOLONG
Un componente de la ruta excede los 255 caracteres, o la ruta
completa excede los 1023 caracteres.
ENOENT El fichero no existe.
EROFS El fichero reside en un sistema de ficheros de solo lectura.
ETXTBSY
El fichero es un fichero de procedimientos puros (codigo
compartido) que se esta ejecutando.
Para ftruncate se aplican los mismos errores, pero en lugar de tratar
con path, los errores pueden ocurrir ahora con fd:
EBADF fd no es un descriptor valido.
EBADF o EINVAL
fd no esta abierto para escritura.
EINVAL fd no hace referencia a un fichero regular.
CONFORME A
4.4BSD, SVr4 (estas funciones aparecieron por primera vez en BSD 4.2).
POSIX 1003.1-1996 posee ftruncate. POSIX 1003.1-2001 posee tambien
truncate, como una extension de XSI.
SVr4 documenta para truncate las condiciones de error adicionales
EMFILE, EMULTIHP, ENFILE, ENOLINK. SVr4 documenta para ftruncate una
condicion de error adicional EAGAIN.
OBSERVACIONES
La descripcion de arriba es para sistemas conformes con XSI. Para
sistemas no conformes con XSI, el estandar POSIX permite dos
comportamientos para ftruncate cuando length excede la longitud del
fichero (observe que truncate no esta especificada en absoluto en tales
condiciones): bien devolver un error o extender el fichero. (La
mayoria de sistemas UNIX siguen el requisito de XSI.)
V'EASE TAMBI'EN
open(2)