<filesystem>
열거형
이 항목에서는 filesystem 헤더의 열거형을 설명합니다.
요구 사항
헤더:<실험적/파일 시스템>
네임스페이스: std::experimental::filesystem
copy_options
동작을 지정하기 위해 copy 및 copy_file 함수와 함께 사용되는 비트 마스크 값의 열거형입니다.
구문
enum class copy_options {
none = 0,
skip_existing = 1,
overwrite_existing = 2,
update_existing = 4,
recursive = 8,
copy_symlinks = 16,
skip_symlinks = 32,
directories_only = 64,
create_symlinks = 128,
create_hard_links = 256
};
값
속성 | 설명 |
---|---|
none |
작업의 기본 동작을 수행합니다. |
skip_existing |
파일이 이미 있는 경우 복사하지 않고 오류를 보고하지 않습니다. |
overwrite_existing |
파일이 이미 있는 경우 덮어씁니다. |
update_existing |
파일이 이미 있고 대체 파일보다 오래된 경우 파일을 덮어씁니다. |
recursive |
하위 디렉터리와 해당 콘텐츠를 재귀적으로 복사합니다. |
copy_symlinks |
기호 링크가 가리키는 파일을 복사하지 않고 기호 링크를 기호 링크로 복사합니다. |
skip_symlinks |
기호 링크를 무시합니다. |
directories_only |
디렉터리만 반복하고 파일을 무시합니다. |
create_symlinks |
파일을 복사하지 않고 기호 링크를 만듭니다. 대상이 현재 디렉터리가 아니면 절대 경로를 소스 경로로 사용해야 합니다. |
create_hard_links |
파일을 복사하지 않고 하드 링크를 만듭니다. |
directory_options
디렉터리에 대한 기호화된 링크를 따를지, 아니면 무시할지 지정합니다.
구문
enum class directory_options {
none = 0,
follow_directory_symlink
};
값
속성 | 설명 |
---|---|
none |
기본 동작: 디렉터리에 대한 기호 링크를 무시합니다. 사용 권한이 거부됨은 오류입니다. |
follow_directory_symlink |
디렉터리에 대한 기호화된 링크를 실제 디렉터리로 처리합니다. |
file_type
파일 형식에 대한 열거형입니다. 지원되는 값은 일반, 디렉터리, not_found 및 알 수 없습니다.
구문
enum class file_type {
not_found = -1,
none,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
값
속성 | 값 | 설명 |
---|---|---|
not_found |
-1 | 존재하지 않는 파일을 나타냅니다. |
none |
0 | 형식 특성이 없는 파일을 나타냅니다. (지원 안 됨) |
regular |
1 | 기존 디스크 파일을 나타냅니다. |
directory |
2 | 디렉터리를 나타냅니다. |
symlink |
3 | 기호화된 링크를 나타냅니다. (지원 안 됨) |
block |
4 | UNIX 기반 시스템의 블록 특수 파일을 나타냅니다. (지원 안 됨) |
character |
5 | UNIX 기반 시스템의 문자 특수 파일을 나타냅니다. (지원 안 됨) |
fifo |
6 | UNIX 기반 시스템의 FIFO 파일을 나타냅니다. (지원 안 됨) |
socket |
7 | UNIX 기반 시스템의 소켓을 나타냅니다. (지원 안 됨) |
unknown |
8 | 해당 상태를 확인할 수 없는 파일을 나타냅니다. |
perm_options
값 replace
, add
, remove
및 nofollow
.
enum class perm_options;
perms
파일 사용 권한에 대한 플래그입니다. 지원되는 값은 기본적으로 "읽기 전용"이며 모두입니다. 읽기 전용 파일의 경우 *_write 비트가 설정되지 않습니다. 그렇지 않은 경우에는 all
비트(0x0777)가 설정됩니다.
구문
enum class perms {// names for permissions
none = 0,
owner_read = 0400, // S_IRUSR
owner_write = 0200, // S_IWUSR
owner_exec = 0100, // S_IXUSR
owner_all = 0700, // S_IRWXU
group_read = 040, // S_IRGRP
group_write = 020, // S_IWGRP
group_exec = 010, // S_IXGRP
group_all = 070, // S_IRWXG
others_read = 04, // S_IROTH
others_write = 02, // S_IWOTH
others_exec = 01, // S_IXOTH
others_all = 07, // S_IRWXO
all = 0777,
set_uid = 04000, // S_ISUID
set_gid = 02000, // S_ISGID
sticky_bit = 01000, // S_ISVTX
mask = 07777,
unknown = 0xFFFF,
add_perms = 0x10000,
remove_perms = 0x20000,
resolve_symlinks = 0x40000
};