ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C/C++ close() 함수
    C,C++ & Linux 2020. 5. 14. 13:24
    728x90

    close(2) 함수 기능

    open으로 열었던 파일을 닫아주는 함수입니다.

    하나의 프로세스에서 너무 많은 파일을 열게되면 시스템 자원을 낭비하게 되기 때문에 사용하지 않는 파일은 닫아주는 것이 좋습니다.

    단 프로세스가 종료되면 파일은 자동으로 닫히기 때문에 프로세스 전반적으로 이용하는 파일의 경우에는 수동으로 닫아주지 않아도 됩니다.

    함수 원형

    #include <unistd.h>
    
    int close(int fd);

    매개변수

    • fd
      닫고자 하는 파일의 파일 디스크립터

    반환값

    성공 시 0 리턴

    실패 시 -1 리턴 후 errno 설정

    예제

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <fcntl.h> // for open
    #include <sys/types.h>
    #include <sys/stat.h>
    
    int main() {
        char *filename = "ssu_test.txt";
        int fd;
    
        if ((fd = open(filename, O_RDONLY)) < 0) {
            fprintf(stderr, "%s open error\n", filename);
            exit(1);
        }
    
        printf("Descriptor : %d\n", fd);
        close(fd);
    
        if ((fd = open(filename, O_RDONLY)) < 0) {
            fprintf(stderr, "%s open error\n", filename);
            exit(1);
        }
    
        printf("Descriptor : %d\n", fd);
    	exit(0);
    }
    

    결과

     

     

     

     

     

     

     

     

     

     

    리눅스시스템프로그래밍 저자 : 홍지만
    https://book.naver.com/bookdb/book_detail.nhn?bid=14623672

    책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)

    'C,C++ & Linux' 카테고리의 다른 글

    C/C++ pread(), pwrite()  (0) 2020.05.14
    C/C++ write()  (0) 2020.05.14
    C/C++ read 함수 - 파일을 읽는 함수  (0) 2020.04.22
    C/C++ lseek 함수 - 파일 커서(seek pointer) 조정  (0) 2020.04.22
    C/C++ creat 함수 - 파일 생성  (0) 2020.04.21

    댓글

Designed by Tistory.