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.
Important
Nagłówek <experimental/filesystem> i std::experimental::filesystem przestrzeń nazw dostarczyły wstępnie standardowej implementacji specyfikacji technicznej systemu plików (TS). Ta dokumentacja jest przechowywana dla kodu napisanego w oryginalnej implementacji systemu plików MSVC, która została usunięta, począwszy od wersji 14.51 MSVC. W przypadku nowego kodu użyj nagłówka std::filesystem języka C++17 <filesystem> i przestrzeni nazw. Aby zapoznać się ze standardowymi odpowiednikami tych wyliczenia, zobacz <filesystem> wyliczenia.
Ten artykuł dokumentuje wyliczenia w historycznej implementacji przedstandardowej std::experimental::filesystem .
Wymagania
Nagłówek:<experimental/filesystem>
Przestrzeń nazw: std::experimental::filesystem
copy_options
Wyliczenie wartości maski bitów używanej z funkcjami kopiowania 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
};
Values
| Nazwa | 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 kontroluje sposób obsługi iteracji katalogów symbolicznych linków do katalogów.
Składnia
enum class directory_options {
none = 0,
follow_directory_symlink = 1
};
Values
| Nazwa | Opis |
|---|---|
none |
Zachowanie domyślne: nie śledź linków symbolicznych do katalogów. |
follow_directory_symlink |
Skorzystaj z linków symbolicznych do katalogów, a nie pomijania ich. |
file_type
Wyliczenie typów plików.
Składnia
enum class file_type {
not_found = -1,
none = 0,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Bazowe wartości całkowite tych modułów wyliczania nie są stałe, więc nie zależą od określonych wartości liczbowych.
Values
| Nazwa | 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. |
perms
Maska bitowa wylicza bitów uprawnień pliku wraz z flagami sterowania używanymi permissions przez funkcję do decydowania o sposobie stosowania tych bitów. W Windows obsługiwane wartości uprawnień 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,
add_perms = 0x10000, // control flag
remove_perms = 0x20000, // control flag
resolve_symlinks = 0x40000 // control flag
};
Flagi kontrolek
W przeciwieństwie do implementacji języka C++17 std::filesystem , która steruje permissions funkcją przy użyciu oddzielnego perm_options wyliczenia, wstępniestandardowa implementacja TS niesie ze sobą flagi perms sterowania.
| Nazwa | Opis |
|---|---|
add_perms |
Dodaj określone bity uprawnień do bieżących uprawnień pliku zamiast ich zastępowania. |
remove_perms |
Usuń określone bity uprawnień z bieżących uprawnień pliku. |
resolve_symlinks |
Rozwiąż łącza symboliczne, aby zmiana uprawnień dotyczyła pliku docelowego, a nie łącza. |
Zobacz także
<experimental/filesystem>
<experimental/filesystem>, funkcje
<experimental/filesystem> operatory