fclose

NAME

fclose - close a stream

SYNOPSIS

#include <stdio.h> I int fclose(FILE * fp );

DESCRIPTION

The R fclose () function will flush the stream pointed to by R fp (writing any buffered output data using fflush(3)) and close the underlying file descriptor.
The behaviour of R fclose () is undefined if the stream parameter is an illegal pointer, or is a descriptor already passed to a previous invocation of R fclose ().

RETURN VALUE

Upon successful completion 0 is returned. Otherwise, EOF is returned and the global variable errno is set to indicate the error. In either case any further access (including another call to R fclose ()) to the stream results in undefined behavior.

ERRORS

EBADF
The file descriptor underlying fp is not valid.
The R fclose () function may also fail and set errno for any of the errors specified for the routines close(2), write(2) or fflush(3).

CONFORMING TO

C89, C99.

NOTES

Note that R fclose () only flushes the user space buffers provided by the C library. To ensure that the data is physically stored on disk the kernel buffers must be flushed too, for example, with sync(2) or fsync(2).

SEE ALSO

close(2), fcloseall(3), fflush(3), fopen(3), setbuf(3)