Para indicar un error, muchas funciones de biblioteca stdio
envían valores fuera de rango, como indicadores nulos o la constante EOF
. En estos casos, el error se indica en la variable errno
externa:
También puede indagar el estado de un flujo de archivos para determinar si se ha producido un error, o si se ha llegado al final del archivo.
La función
ferror
comprueba el indicador de error de flujo y envía un valor distinto a cero si no está configurado, o cero si está configurado.
La función feof
comprueba el indicador de final de archivo dentro de un flujo y envía un valor distinto a cero si no está configurado, y cero si está configurado. Se usaría así:
La función
clearerr
vacía el final del archivo y los indicadores de error de flujo que señala stream
. No dispone de valor de retorno y no se definen errores. Puede usarla para recuperarse de condiciones de error en los flujos. Un ejemplo sería continuar escribiendo en un flujo después de haber resuelto un error “disco completo”.