Пространства имён
Варианты
Действия

Библиотека файловой системы

Материал из cppreference.com
 
 
 

The Filesystem library provides facilities for performing operations on file systems and their components, such as paths, regular files, and directories.

The filesystem library was originally developed as boost.filesystem, was published as the technical specification ISO/IEC TS 18822:2015, and finally merged to ISO C++ as of C++17. The boost implementation is currently available on more compilers and platforms than the C++17 library.

The filesystem library facilities may be unavailable if a hierarchical file system is not accessible to the implementation, or if it does not provide the necessary capabilities. Some features may not be available if they are not supported by the underlying file system (e.g. the FAT filesystem lacks symbolic links and forbids multiple hardlinks). In those cases, errors must be reported.

The behavior is undefined if the calls to functions in this library introduce a file system race, that is, when multiple threads, processes, or computers interleave access and modification to the same object in a file system.

Содержание

Library-wide concepts

  • file: a file system object that holds data, can be written to, read from, or both. Files have names, attributes, one of which is file type:
  • directory: a file that acts as a container of directory entries, which identify other files (some of which may be other, nested, directories). When discussing a particular file, the directory in which it appears as an entry is its parent directory. The parent directory can be represented by the relative pathname "..".
  • hard link: a directory entry that associates a name with an existing file. If multiple hard links are supported, the file is removed after the last hard link to it is removed.
  • symbolic link: a directory entry that associates a name with a path, which may or may not exist.
  • regular file: a file that is not one of the other file types.
  • file name: a string of characters that names a file. Permissible characters, case sensitivity, maximum length, and the disallowed names are implementation-defined. Names "." (dot) and ".." (dot-dot) have special meaning at library level.
  • path: sequence of elements that identifies a file. It begins with an optional root-name (e.g. "C:" or "//server" on Windows), followed by an optional root-directory (e.g. "/" on Unix), followed by a sequence of zero or more file names (all but last of which have to be directories or links to directories). The native format (e.g. which characters are used as separators) and character encoding of the string representation of a path (the pathname) is implementation-defined, this library provides portable representation of paths.
  • absolute path: a path that unambiguously identifies the location of a file.
  • canonical path: an absolute path that includes no symlinks, "." or ".." elements.
  • relative path: a path that identifies the location of a file relative to some location on the file system. The special path names "." (dot, "current directory") and ".." (dot-dot, "parent directory") are relative paths.

Классы

Заголовочный файл <filesystem>
Пространство имён filesystem
(C++17)
представляет собой путь
(класс) [править]
исключение, вызванное ошибками файловой системы
(класс) [править]
каталог
(класс) [править]
итератор содержимого каталога
(класс) [править]
итератор содержимого каталога и его подкаталогов
(класс) [править]
представляет тип файла и разрешения
(класс) [править]
информация о свободном и доступном пространстве в файловой системе
(класс) [править]
(C++17)
указывает тип файла
(перечисление) [править]
(C++17)
определяет разрешения файловой системы
(перечисление) [править]
определяет семантику операций разрешений
(перечисление) [править]
определяет семантику операций копирования
(перечисление) [править]
опции для итерации содержимого каталога
(перечисление) [править]
представляет время файла
(определение типа) [править]

Функции, не являющиеся членами

(C++17)
составляет абсолютный путь
(функция) [править]
составляет канонический путь
(функция) [править]
составляет относительный путь
(функция) [править]
(C++17)
копирует файлы или каталоги
(функция) [править]
(C++17)
копирует содержимое файла
(функция) [править]
копирует символическую ссылку
(функция) [править]
создает новый каталог
(функция) [править]
создает жесткую ссылку
(функция) [править]
создает символическую ссылку
(функция) [править]
возвращает текущий рабочий каталог
(функция) [править]
(C++17)
проверяет, ссылается ли путь на существующий объект файловой системы
(функция) [править]
проверяет, ссылаются ли два пути на один и тот же объект файловой системы
(функция) [править]
(C++17)
возвращает размер файла
(функция) [править]
возвращает число жестких ссылок, ссылающихся на конкретный файл
(функция) [править]
получает или задает время последней модификации данных
(функция) [править]
изменяет права доступа к файлам
(функция) [править]
получает объект символической ссылки
(функция) [править]
(C++17)
(C++17)
удаляет файл или пустой каталог
удаляет файл или каталог и все его содержимое рекурсивно
(функция) [править]
(C++17)
перемещает или переименовывает файл или каталог
(функция) [править]
изменяет размер обычного файла путем усечения или заполнением нулями
(функция) [править]
(C++17)
определяет свободное место в файловой системе
(функция) [править]
(C++17)
(C++17)
определяет атрибуты файла
determines file attributes, checking the symlink target
(функция) [править]
возвращает каталог, подходящий для временных файлов
(функция) [править]
Типы файлов
проверяет, ссылается ли данный путь на блочное устройство
(функция) [править]
проверяет, ссылается ли данный путь на символическое устройство
(функция) [править]
проверяет, ссылается ли данный путь на каталог
(функция) [править]
(C++17)
проверяет, ссылается ли данный путь на пустой файл или каталог
(функция) [править]
(C++17)
проверяет, ссылается ли данный путь на именованный канал
(функция) [править]
(C++17)
проверяет, ссылается ли аргумент на другой файл
(функция) [править]
проверяет, ссылается ли аргумент на обычный файл
(функция) [править]
(C++17)
проверяет, ссылается ли аргумент на именованный сокет IPC
(функция) [править]
проверяет, ссылается ли аргумент на символическую ссылку
(функция) [править]
проверяет, известно ли состояние файла
(функция) [править]

Смотреть также

C++ documentation для <experimental/filesystem>