2009. 3. 29. 17:50
NAME
DESCRIPTION
RETURN VALUE
성공하면 0을 리턴한다. 실패했을 경우는 EOF를 리턴하고 errno를 설정한다.
ERRORS
EBADF The file descriptor underlying fp is not valid.
The 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 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)
fclose - 열린 파일 스트림(stream)을 닫는다.
SYNOPSIS
SYNOPSIS
#include <stdio.h> int fclose(FILE *fp); |
DESCRIPTION
fclose()함수는 stream으로 연결되어 있는 파일의 스트림 연결을 끊는다. 만약 닫고자 하는 스트림이 출력을 위해 열려져있던 스트림이라면 fflush(3)를 이용해서 버퍼에 있는 데이터를 모두 써야 한다.
만약 닫혀진 stream에 대해서 fclose()가 다시 한번 실행된다면 어떤일이 일어날지 알 수 없다. 세그멘테이션 오류로 종료할 수도 있고, 그렇지 않고 계속 작동할 수도 있다. 프로그래밍을 할 때는 이점에 주의해야 한다.
만약 닫혀진 stream에 대해서 fclose()가 다시 한번 실행된다면 어떤일이 일어날지 알 수 없다. 세그멘테이션 오류로 종료할 수도 있고, 그렇지 않고 계속 작동할 수도 있다. 프로그래밍을 할 때는 이점에 주의해야 한다.
RETURN VALUE
성공하면 0을 리턴한다. 실패했을 경우는 EOF를 리턴하고 errno를 설정한다.
ERRORS
The 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 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)
'API 및 라이브러리 > C 라이브러리 함수' 카테고리의 다른 글
malloc(3) (0) | 2009.03.31 |
---|---|
strcpy(3) (0) | 2009.03.31 |
getenv(3) (1) | 2009.03.30 |
exit(3) (0) | 2009.03.29 |
getopt(3) (0) | 2009.03.28 |