write reading read fscanf files create and c file-io

reading - ¿Debo verificar el estado de devolución de fclose() si solo estoy leyendo un archivo?



write file c (2)

¿Hay algo que puedas hacer si falla? Entonces sí. Si no hay nada que puedas hacer, entonces puedes ignorarlo.

Una buena práctica es verificar siempre los errores y al menos registrarlos, si no hay nada más que pueda hacer al respecto.

Relacionados: fclose verifica el valor de retorno

Aunque es importante verificar el valor de retorno de fclose() si está escribiendo un archivo (en caso de que falle la operación de descarga), ¿es necesario hacerlo al leer un archivo?

FILE *f = fopen(path, "r"); if (f == NULL) return 0; /* Do something with the file... */ if (fclose(f) != 0) { /* Error closing a file we successfully read. */ return 0; }


Si el cierre () falla, es posible que tenga un error que le importe. Los archivos son más que datos. Son metadatos, y son recursos. Si el cierre () falla, es posible que aún tenga un identificador de archivo abierto. Es posible que aún esté fijando los datos del archivo, evitando que el sistema de archivos lo reutilice. Es posible que todavía tenga conexiones de red abiertas. Si el atime del archivo se actualiza en close (), tendrá un atime antiguo para el archivo. Estas son cosas de las que realmente deberías sentir curiosidad.