Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule dokumentacji wyliczenia w implementacji nagłówka <filesystem> języka C++17std::filesystem.
Uwaga / Notatka
Ta strona dokumentuje wyliczenia języka C++17 std::filesystem . Aby zapoznać się z historycznymi wyliczeniami wstępnymi podanymi w <experimental/filesystem>programie , zobacz <experimental/filesystem> wyliczenia.
Wymagania
Nagłówek:<filesystem>
Przestrzeń nazw: std::filesystem
copy_options
Wyliczenie wartości maski bitów używanych z funkcjami copy i copy_file do określania zachowania.
Składnia
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
};
Wartości
| Nazwa/nazwisko | opis |
|---|---|
none |
Wykonaj domyślne zachowanie dla operacji. |
skip_existing |
Nie należy kopiować, jeśli plik już istnieje, nie zgłaszaj błędu. |
overwrite_existing |
Zastąp plik, jeśli już istnieje. |
update_existing |
Zastąp plik, jeśli już istnieje i jest starszy niż zastąpienie. |
recursive |
Rekursywnie kopiuj podkatalogi i ich zawartość. |
copy_symlinks |
Skopiuj łącza symboliczne jako łącza symboliczne zamiast kopiować pliki, do których wskazują. |
skip_symlinks |
Ignoruj łącza symboliczne. |
directories_only |
Iteruj tylko katalogi, ignoruj pliki. |
create_symlinks |
Utwórz łącza symboliczne zamiast kopiować pliki. Ścieżka bezwzględna musi być używana jako ścieżka źródłowa, chyba że miejsce docelowe jest bieżącym katalogiem. |
create_hard_links |
Utwórz twarde linki zamiast kopiować pliki. |
directory_options
Wyliczenie maski bitowej, które steruje sposobem obsługi iteracji katalogów symbolicznych linków do katalogów i błędów odmowy uprawnień.
Składnia
enum class directory_options {
none = 0,
follow_directory_symlink = 1,
skip_permission_denied = 2
};
Wartości
| Nazwa/nazwisko | opis |
|---|---|
none |
Domyślne zachowanie: nie śledź linków symbolicznych do katalogów i traktuj odmowa uprawnień jako błąd. |
follow_directory_symlink |
Skorzystaj z linków symbolicznych do katalogów, a nie pomijania ich. |
skip_permission_denied |
Dyskretne pomijanie katalogów, które w przeciwnym razie spowodują błąd odmowy uprawnień. |
file_type
Wyliczenie typów plików.
Składnia
enum class file_type {
none = 0,
not_found,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Standard C++ nie naprawia bazowych wartości całkowitych tych modułów wyliczania, więc nie zależy od określonych wartości liczbowych.
Wartości
| Nazwa/nazwisko | opis |
|---|---|
none |
Typ pliku nie został jeszcze oceniony lub wystąpił błąd podczas jego oceny. |
not_found |
Nie można odnaleźć pliku. |
regular |
Zwykły plik. |
directory |
Katalog. |
symlink |
Łącze symboliczne. |
block |
Plik specjalny bloku. (Nieużytne w Windows). |
character |
Plik specjalny znaków. (Nieużytne w Windows). |
fifo |
Plik FIFO lub potoku. (Nieużytne w Windows). |
socket |
Gniazdo. (Nieużytne w Windows). |
unknown |
Plik istnieje, ale nie można określić jego typu. |
perm_options
Wyliczenie maski bitów, które kontroluje sposób, w jaki permissions funkcja stosuje bity uprawnień.
Składnia
enum class perm_options {
replace = 1,
add = 2,
remove = 4,
nofollow = 8
};
Wartości
| Nazwa/nazwisko | opis |
|---|---|
replace |
Zastąp bity uprawnień pliku określonymi uprawnieniami. |
add |
Dodaj określone bity uprawnień do bieżących uprawnień pliku. |
remove |
Usuń określone bity uprawnień z bieżących uprawnień pliku. |
nofollow |
Zmień uprawnienia samego linku symbolicznego, a nie pliku, na który jest rozpoznawany. |
perms
Bit maska bitów wylicza bitów uprawnień pliku. W przypadku Windows obsługiwane wartości są zasadniczo "tylko do odczytu" i all. W przypadku pliku tylko do odczytu żaden z *_write bitów nie jest ustawiony.
all W przeciwnym razie bit (0777) jest ustawiony.
Składnia
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
};