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