Subrutina fclose o fflush
Finalidad
Cierra o vacía una corriente.
Biblioteca
Biblioteca C estándar (libc.a)
Sintaxis
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 |