2009. 3. 29. 17:50
NAME
 fclose - 열린 파일 스트림(stream)을 닫는다.

SYNOPSIS 

 #include <stdio.h>

 int fclose(FILE *fp);

DESCRIPTION 

fclose()함수는 stream으로 연결되어 있는 파일의 스트림 연결을 끊는다. 만약 닫고자 하는 스트림이 출력을 위해 열려져있던 스트림이라면 fflush(3)를 이용해서 버퍼에 있는 데이터를 모두 써야 한다. 

만약 닫혀진 stream에 대해서 fclose()가 다시 한번 실행된다면 어떤일이 일어날지 알 수 없다. 세그멘테이션 오류로 종료할 수도 있고, 그렇지 않고 계속 작동할 수도 있다. 프로그래밍을 할 때는 이점에 주의해야 한다.

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 exam
ple, 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
Posted by devanix