Subrutina fclose o fflush

Finalidad

Cierra o vacía una corriente.

Biblioteca

Biblioteca C estándar (libc.a)

Sintaxis

#include <stdio.h>
int fclose ( Stream)
FILE *Stream;
int fflush ( Stream)
FILE *Stream;

Descripción

La subrutina fclose escribe datos almacenados en el almacenamiento intermedio en la corriente especificada por el parámetro Corriente y luego cierra la corriente. La subrutina fclose se invoca automáticamente para todos los archivos abiertos cuando se invoca la subrutina Salida .

La subrutina fflush graba los datos almacenados en el almacenamiento intermedio para la corriente especificada por el parámetro Corriente y deja la corriente abierta. La subrutina fflush marca elst_ctimeyst_mtimedel archivo subyacente para la actualización.

Si el parámetro Corriente es un puntero nulo, la subrutina fflush realiza esta acción de vaciado en todas las corrientes para las que se ha definido el comportamiento.

Parámetros

Elemento Descripción
Flujo Especifica la corriente de salida.

Valores de retorno

Tras la finalización satisfactoria, las subrutinas fclose y fflush devuelven un valor de 0. De lo contrario, se devuelve un valor de EOF.

Códigos de error

Si las subrutinas fclose y fflush no tienen éxito, se devuelven los siguientes errores a través de la variable global errno :

Elemento Descripción
FEAGA El distintivo O_NONBLOCK o O_NDELAY se establece para el descriptor de archivo subyacente al parámetro Stream y el proceso se retrasaría en la operación de grabación.
EBADF El descriptor de archivo subyacente Corriente no es válido.
EFBIG Se ha intentado escribir un archivo que excede el límite de tamaño de archivo del proceso o el tamaño máximo de archivo. Consulte la subrutina ulimit .
EFBIG El archivo es un archivo normal y se ha intentado escribir en o más allá del máximo de desplazamiento asociado con la corriente correspondiente.
EINTR La subrutina fflush se ha interrumpido mediante una señal.
EIO El proceso es un miembro de un grupo de procesos en segundo plano que intenta grabar en su terminal de control, la señal de TOSTOP está establecida, el proceso no está ignorando ni bloqueando la señal de SIGTTOU y el grupo de proceso del proceso está huérfano. Este error también se puede devolver en condiciones dependientes de la implementación.
ENOMEM La corriente subyacente se ha creado mediante open_memstream () o open_wmemstream () y no hay suficiente memoria disponible.
ENOSPC No queda espacio libre en el dispositivo que contiene el archivo o en el almacenamiento intermedio utilizado por fmemopen () función.
EPIPE Se intenta escribir en un conducto o FIFO que no está abierto para su lectura por ningún proceso. Se envía una señal SIGPIPE al proceso.
ENXIO Se ha realizado una solicitud de un dispositivo inexistente o la solicitud estaba fuera de las posibilidades del dispositivo