ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C/C++ getcwd(2) get_current_dir_name(2)
    C,C++ & Linux 2020. 5. 21. 01:49
    728x90

    getcwd, get_current_dir_name 함수 기능

    현재 작업 디렉토리의 경로를 알아내는 함수

    함수 원형

    #include <unistd.h>
    char *getcwd(char *buf, size_t size);
    char *get_current_dir_name();

    매개변수

    buf

    현재 작업 디렉토리의 경로를 저장할 버퍼

     

    size

    버퍼의 최대 길이

    반환값

    성공 시 작업 디렉토리의 경로 리턴

    에러 시 NULL 리턴하고 errno 설정

     

    getcwd() 의 buf에 NULL 을 입력하게 되면 내부적으로 동적할당하여 그 주소를 리턴한다.

    getcwd(NULL, 0) 은 get_current_dir_name() 과 동일하게 동작한다.

    예제

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    #define PATH_MAX 1024
    
    int main(int argc, char *argv[]) {
        char *pathname;
    
        pathname = malloc(PATH_MAX);
        if (getcwd(pathname, PATH_MAX) == NULL) {
            fprintf(stderr, "getcwd error\n");
            exit(1);
        }
    
        printf("current directory = %s\n", pathname);
        free(pathname);
        exit(0);
    }
    

     

    결과

     

     

     

     

     

     

     

     

     

     

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

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

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

    C/C++ fclose(3) fcloseall(3)  (0) 2020.05.21
    C/C++ fopen(3) freopen(3) fdopen(3)  (0) 2020.05.21
    C/C++ chdir(2) fchdir(2)  (0) 2020.05.21
    C/C++ telldir(3) seekdir(3)  (0) 2020.05.20
    C/C++ closedir(3)  (0) 2020.05.20

    댓글

Designed by Tistory.