Page 360

5.4 Errores

Truncamiento de ficheros Las funciones est´ andar de manejo de ficheros no permiten efectuar una operaci´ on que puede resultar necesaria en algunas aplicaciones: eliminar elementos de un fichero. Una forma de conseguir este efecto consiste en generar un nuevo fichero en el que escribimos s´ olo aquellos elementos que no deseamos eliminar. Una vez generado el nuevo fichero, borramos el original y renombramos el nuevo para que adopte el nombre del original. Costoso. En Unix puedes recurrir a la funci´ on truncate (disponible al incluir la cabecera unistd.h). El perfil de truncate es ´este: int truncate(char nombre[], int longitud ); La funci´ on recibe el nombre de un fichero (que no debe estar abierto) y el n´ umero de bytes que deseamos conservar. Si la llamada tiene ´exito, la funci´ on hace que en el fichero s´ olo permanezcan los longitud primeros bytes y devuelve el valor 0. En caso contrario, devuelve el valor −1. Observa que s´ olo puedes borrar los u ´ltimos elementos de un fichero, y no cualquiera de ellos. Por eso la acci´ on de borrar parte de un fichero recibe el nombre de truncamiento.

Como manejarte con tantas constantes (algunas con significados un tanto dif´ıcil de comprender hasta que curses asignaturas de sistemas operativos) resulta complicado, puedes usar una funci´ on especial: void perror (char s[]);

Esta funci´ on muestra por pantalla el valor de la cadena s, dos puntos y un mensaje de error que detalla la causa del error cometido. La cadena s, que suministra el programador, suele indicar el nombre de la funci´ on en la que se detect´o el error, ayudando as´ı a la depuraci´on del programa.

354

Introducci´ on a la Programaci´ on con C

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement