-
C/C++ getcwd(2) get_current_dir_name(2)C,C++ & Linux 2020. 5. 21. 01:49728x90
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