C,C++ & Linux

C/C++ mkdir(2)

KyooDong 2020. 5. 19. 12:29
728x90

mkdir(2) 함수 기능

디렉토리 파일을 만들어주는 함수입니다.

함수 원형

#include <sys/stat.h>
#include <sys/types.h>

int mkdir(const char *filepath, mode_t mode);

매개변수

filepath

디렉토리를 만들고자 하는 경로

 

mode

디렉토리의 접근 권한

테스트 매크로 8진수 내용
S_IRWXU 0000700 소유자 권한 마스크
  S_IRUSR 0000400 소유자 읽기 권한
  S_IWUSR 0000200 소유자 쓰기 권한
  S_IXUSR 0000100 소유자 실행 권한
S_IRWXG 0000070 그룹 권한 마스크
  S_IRGRP 0000040 그룹 읽기 권한
  S_IWGRP 0000020 그룹 쓰기 권한
  S_IXGRP 0000010 그룹 실행 권한
S_IRWXO 0000007 기타 사용자 권한 마스크
  S_IROTH 0000004 기타 사용자 읽기 권한
  S_IWOTH 0000002 기타 사용자 쓰기 권한
  S_IXOTH 0000001 기타 사용자 실행 권한

반환값

성공 시 0 리턴

에러 시 -1 리턴 후 errno 설정

예제

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <utime.h>

int main(int argc, char *argv[]) {
    // 0666 권한으로 디렉토리 생성
    mkdir(argv[1], 0666);
    exit(0);
}

 

 

 

 

 

 

 

 

 

 

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

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