Filesystem library
La bibliothèque Filesystem, ISO/IEC TS 18822:2015, fournit des fonctionnalités pour effectuer des opérations sur les systèmes de fichiers et leurs composants, tels que les chemins, les fichiers réguliers et les répertoires.
Cette bibliothèque est une spécification technique optionnelle et peut être indisponible si un système de fichiers hiérarchique n'est pas accessible à l'implémentation, ou s'il ne fournit pas les capacités nécessaires. Certaines fonctionnalités peuvent ne pas être disponibles si elles ne sont pas prises en charge par le système de fichiers sous-jacent (par exemple, le système de fichiers FAT n'a pas de liens physiques, de liens symboliques et d'autres fonctionnalités).
Le comportement est indéfini si les appels aux fonctions de cette bibliothèque introduisent une course au système de fichiers , c'est-à-dire lorsque plusieurs threads, processus ou ordinateurs entrelacent l'accès et la modification du même objet dans un système de fichiers.
Cette bibliothèque est directement basée sur boost.filesystem , qui est actuellement disponible sur plus de compilateurs et plateformes que cette spécification technique expérimentale.
Table des matières |
Définitions à l'échelle de la bibliothèque
- fichier : un objet du système de fichiers qui contient des données, pouvant être écrit, lu, ou les deux. Les fichiers ont des noms, des attributs, dont l'un est le type de fichier :
-
- répertoire : un fichier qui agit comme un conteneur d'entrées de répertoire, qui identifient d'autres fichiers (dont certains peuvent être d'autres répertoires imbriqués). Lorsqu'on discute d'un fichier particulier, le répertoire dans lequel il apparaît comme une entrée est son répertoire parent . Le répertoire parent peut être représenté par le chemin relatif ".." .
- lien physique : une entrée de répertoire qui associe un nom à un fichier existant. Si plusieurs liens physiques sont supportés, le fichier est supprimé après la suppression du dernier lien physique pointant vers lui.
- lien symbolique : une entrée de répertoire qui associe un nom à un chemin, qui peut exister ou non.
- fichier régulier : un fichier qui n'est pas l'un des autres types de fichiers.
- nom de fichier : une chaîne de caractères qui nomme un fichier. Les caractères autorisés, la sensibilité à la casse, la longueur maximale et les noms interdits sont définis par l'implémentation. Les noms . (point) et .. (point-point) ont une signification spéciale au niveau de la bibliothèque.
- chemin : séquence d'éléments qui identifie un fichier. Il commence par un root-name optionnel (par ex. "C:" ou "//server" ), suivi d'un root-directory optionnel (par ex. "/" sur Unix), suivi d'une séquence de zéro ou plusieurs noms de fichiers (dont tous sauf le dernier doivent être des répertoires ou des liens vers des répertoires). Le format natif (par ex. quels caractères sont utilisés comme séparateurs) et l'encodage des caractères de la représentation sous forme de chaîne d'un chemin (le pathname ) sont définis par l'implémentation, cette bibliothèque fournit une représentation portable des chemins.
-
- chemin absolu : un chemin qui identifie sans ambiguïté l'emplacement d'un fichier.
- chemin canonique : un chemin absolu qui n'inclut aucun lien symbolique, "." ou ".." .
- chemin relatif : un chemin qui identifie un fichier relativement à un certain emplacement du système de fichiers. Les noms de chemin spéciaux . (point, "répertoire courant") et .. (point-point, "répertoire parent") sont des chemins relatifs.
Classes
|
représente un chemin
(classe) |
|
|
une exception levée lors d'erreurs du système de fichiers
(classe) |
|
|
une entrée de répertoire
(classe) |
|
|
un itérateur vers le contenu du répertoire
(classe) |
|
|
un itérateur vers le contenu d'un répertoire et de ses sous-répertoires
(classe) |
|
|
représente le type de fichier et les permissions
(classe) |
|
|
informations sur l'espace libre et disponible sur le système de fichiers
(classe) |
|
|
le type d'un fichier
(énumération) |
|
|
identifie les permissions du système de fichiers
(énumération) |
|
|
spécifie la sémantique des opérations de copie
(énumération) |
|
|
options pour l'itération du contenu des répertoires
(énumération) |
|
|
représente les valeurs temporelles des fichiers
(typedef) |
Fonctions non membres
|
compose un chemin absolu
convertit un chemin en chemin absolu en reproduisant le comportement spécifique au système d'exploitation (fonction) |
|
|
compose un chemin canonique
(fonction) |
|
|
copie des fichiers ou répertoires
(fonction) |
|
|
copie le contenu du fichier
(fonction) |
|
|
copie un lien symbolique
(fonction) |
|
|
crée un nouveau répertoire
(fonction) |
|
|
crée un lien physique
(fonction) |
|
|
crée un lien symbolique
(fonction) |
|
|
retourne le répertoire de travail actuel
(fonction) |
|
|
vérifie si le chemin fait référence à un objet existant du système de fichiers
(fonction) |
|
|
vérifie si deux chemins font référence au même objet du système de fichiers
(fonction) |
|
|
retourne la taille d'un fichier
(fonction) |
|
|
retourne le nombre de liens physiques référençant le fichier spécifique
(fonction) |
|
|
obtient ou définit l'heure de la dernière modification des données
(fonction) |
|
|
modifie les permissions d'accès au fichier
(fonction) |
|
|
obtient la cible d'un lien symbolique
(fonction) |
|
|
supprime un fichier ou un répertoire vide
supprime un fichier ou un répertoire et tout son contenu, récursivement (function) |
|
|
déplace ou renomme un fichier ou un répertoire
(fonction) |
|
|
modifie la taille d'un fichier régulier par troncation ou remplissage par des zéros
(fonction) |
|
|
détermine l'espace libre disponible sur le système de fichiers
(fonction) |
|
|
détermine les attributs du fichier
détermine les attributs du fichier, en vérifiant la cible du lien symbolique (fonction) |
|
|
retourne un répertoire approprié pour les fichiers temporaires
(fonction) |
|
Types de fichiers |
|
|
vérifie si le chemin donné fait référence à un périphérique de bloc
(fonction) |
|
|
vérifie si le chemin donné fait référence à un périphérique de caractères
(fonction) |
|
|
vérifie si le chemin donné fait référence à un répertoire
(fonction) |
|
|
vérifie si le chemin donné fait référence à un fichier ou répertoire vide
(fonction) |
|
|
vérifie si le chemin donné fait référence à un tube nommé
(fonction) |
|
|
vérifie si l'argument fait référence à un fichier
autre
(fonction) |
|
|
vérifie si l'argument fait référence à un fichier régulier
(fonction) |
|
|
vérifie si l'argument fait référence à un socket IPC nommé
(fonction) |
|
|
vérifie si l'argument fait référence à un lien symbolique
(fonction) |
|
|
vérifie si le statut du fichier est connu
(fonction) |
|
Voir aussi
|
Documentation C++
pour
Bibliothèque Filesystem
(C++17)
|