<filesystem> uppräkningar

Den här artikeln dokumenterar uppräkningar i C++17-implementeringen std::filesystem av <filesystem> huvudet.

Anmärkning

Den här sidan dokumenterar C++17-uppräkningar std::filesystem . För de historiska prestandarduppräkningar som MSVC angav i <experimental/filesystem>, se <experimental/filesystem> uppräkningar.

Requirements

rubrik:<filesystem>

Namnområde:std::filesystem

copy_options

En uppräkning av bitmaskvärden som du använder med copy och copy_file funktioner för att ange beteende.

Syntax

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

Name Beskrivning
none Utför standardbeteendet för åtgärden.
skip_existing Kopiera inte om filen redan finns, rapportera inte ett fel.
overwrite_existing Skriv över filen om den redan finns.
update_existing Skriv över filen om den redan finns och är äldre än ersättningen.
recursive Kopiera rekursivt underkataloger och deras innehåll.
copy_symlinks Kopiera symboliska länkar som symboliska länkar i stället för att kopiera filerna som de pekar på.
skip_symlinks Ignorera symboliska länkar.
directories_only Iterera bara över kataloger, ignorera filer.
create_symlinks Skapa symboliska länkar i stället för att kopiera filer. En absolut sökväg måste användas som källsökväg om inte målet är den aktuella katalogen.
create_hard_links Skapa hårda länkar i stället för att kopiera filer.

directory_options

En bitmaskuppräkning som styr hur katalog-iteration hanterar symboliska länkar till kataloger och behörighetsnekande fel.

Syntax

enum class directory_options {
   none = 0,
   follow_directory_symlink = 1,
   skip_permission_denied = 2
};

Values

Name Beskrivning
none Standardbeteende: Följ inte symboliska länkar till kataloger och behandla behörighet nekad som ett fel.
follow_directory_symlink Följ symboliska länkar till kataloger i stället för att hoppa över dem.
skip_permission_denied Hoppa tyst över kataloger som annars skulle resultera i ett fel som nekas behörighet.

file_type

En uppräkning för filtyper.

Syntax

enum class file_type {
    none = 0,
    not_found,
    regular,
    directory,
    symlink,
    block,
    character,
    fifo,
    socket,
    unknown
};

C++-standarden åtgärdar inte de underliggande heltalsvärdena för dessa uppräknare, så är inte beroende av specifika numeriska värden.

Values

Name Beskrivning
none Filtypen har inte utvärderats ännu, eller så uppstod ett fel när den utvärderades.
not_found Filen hittades inte.
regular En vanlig fil.
directory En katalog.
symlink En symbolisk länk.
block En blockspecifik fil. (Används inte på Windows.)
character En teckenspecialfil. (Används inte på Windows.)
fifo En FIFO- eller pipe-fil. (Används inte på Windows.)
socket En socket. (Används inte på Windows.)
unknown Filen finns men dess typ kan inte fastställas.

perm_options

En bitmaskuppräkning som styr hur permissions funktionen tillämpar behörighetsbitar.

Syntax

enum class perm_options {
   replace = 1,
   add = 2,
   remove = 4,
   nofollow = 8
};

Values

Name Beskrivning
replace Ersätt filens behörighetsbitar med de angivna behörigheterna.
add Lägg till de angivna behörighetsbitarna i filens aktuella behörigheter.
remove Ta bort de angivna behörighetsbitarna från filens aktuella behörigheter.
nofollow Ändra behörigheterna för en symbolisk länk i stället för den fil som den löser till.

perms

En bitmaskuppräkning av filbehörighetsbitar. På Windows är de värden som stöds i princip "skrivskyddade" och all. Ingen av *_write bitarna har angetts för en skrivskyddad fil. Annars är biten all (0777) inställd.

Syntax

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
};

Se även

referens för huvudfiler
<filesystem>