반응형
rmdir(2)
#include <unistd.h>
int rmdir(const char *pathname);
비어 있는 디렉토리를 삭제합니다. 만약, 디렉토리에 다른 디렉토리나 파일이 있으면, 삭제를 하지 않습니다. UNIX / LINUX 표준 C에서는 비어 있지않는 디렉토리 전체를 삭제하는 함수는 제공하지 않습니다.
파라미터
pathname
- 삭제할 디렉토리에 대한 절대 또는 상대 경로
RETURN
0
- 정상적으로 디렉토리가 삭제되었습니다.
-1
- 오류가 발생하였으며, 상세한 오류는 errno에 저장됩니다.
EACCES : 생성하려는 부모 디렉토리에 쓰기 권한이 없음.
EBUSY : 어떤 프로세스가 삭제 금지시켰거나, mount point 인 경우.
EDQUOT : 사용자에게 할당된 inode수 또는 disk block 등이 file system에서 고갈됨.
EEXIST : 이미 있는 디렉토리임.
EFAULT : pathname이 접속가능한 메모리가 아님.
EINVAL : pathname이 유효하지 않음. 삭제하려는 디렉토리가 . 임
ENAMETOOLONG : pathname이 너무 김.
ENOTDIR : pathname에 디렉토리가 아닌 것이 있음.
ENOTEMPTY : pathname 디렉토리에 . 또는 .. 이외의 디렉토리 및 파일이 존재함.
EPERM : pathname에 directory 생성을 지원하지 않음.
EROFS : read only 파일 시스템임.
활용 예제
Sample
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
char path[1024] = "sample";
if(rmdir(path) == -1) {
fprintf(stderr, "%s directory remove error: %s\n", path, strerror(errno));
return -1;
}
......
see also : Directory 정보 조회 및 관리 Library
반응형
'C언어 header > unistd.h' 카테고리의 다른 글
fchdir(2) - 현재 작업디렉토리를 변경함 (0) | 2019.10.04 |
---|---|
chdir(2) - 현재 작업 디렉토리 변경함 (0) | 2019.10.04 |
write(2) - 파일에 데이터 쓰기 (0) | 2019.10.04 |
read(2) - 파일에서 데이터를 읽기 (0) | 2019.10.04 |
usleep(3) - 설정된 micro초(microsecond: 100만분의 1초) 동안 대기 (0) | 2019.10.01 |