Filesystem library
Die Filesystem-Bibliothek, ISO/IEC TS 18822:2015, bietet Einrichtungen zum Ausführen von Operationen auf Dateisystemen und deren Komponenten, wie Pfade, reguläre Dateien und Verzeichnisse.
Diese Bibliothek ist eine optionale technische Spezifikation und möglicherweise nicht verfügbar, wenn ein hierarchisches Dateisystem für die Implementierung nicht zugänglich ist oder wenn es die notwendigen Fähigkeiten nicht bereitstellt. Einige Funktionen sind möglicherweise nicht verfügbar, wenn sie vom zugrundeliegenden Dateisystem nicht unterstützt werden (z.B. bietet das FAT-Dateisystem keine Hardlinks, Softlinks und andere Funktionen).
Das Verhalten ist undefined , wenn Aufrufe von Funktionen in dieser Bibliothek einen file system race verursachen, das heißt, wenn mehrere Threads, Prozesse oder Computer den Zugriff und die Modifikation desselben Objekts in einem Dateisystem überlappen.
Diese Bibliothek basiert direkt auf boost.filesystem , das derzeit auf mehr Compilern und Plattformen verfügbar ist als diese experimentelle technische Spezifikation.
Inhaltsverzeichnis |
Bibliotheksweite Definitionen
- file : ein Dateisystemobjekt, das Daten enthält und in das geschrieben oder aus dem gelesen werden kann oder beides. Dateien haben Namen, Attribute, von denen eines der Dateityp ist:
-
- directory : eine Datei, die als Container für Verzeichniseinträge fungiert, die andere Dateien identifizieren (einige davon können andere, verschachtelte Verzeichnisse sein). Bei der Diskussion einer bestimmten Datei ist das Verzeichnis, in dem sie als Eintrag erscheint, ihr parent directory . Das übergeordnete Verzeichnis kann durch den relativen Pfadnamen ".." dargestellt werden.
- hard link : ein Verzeichniseintrag, der einen Namen mit einer bestehenden Datei verknüpft. Wenn mehrere Hard Links unterstützt werden, wird die Datei entfernt, nachdem der letzte Hard Link zu ihr entfernt wurde.
- symbolic link : ein Verzeichniseintrag, der einen Namen mit einem Pfad verknüpft, der existieren kann oder nicht.
- regular file : eine Datei, die keinem der anderen Dateitypen entspricht.
- Dateiname : eine Zeichenkette, die eine Datei benennt. Zulässige Zeichen, Groß-/Kleinschreibung, maximale Länge und unzulässige Namen sind implementierungsdefiniert. Die Namen . (Punkt) und .. (Punkt-Punkt) haben auf Bibliotheksebene besondere Bedeutung.
- Pfad : eine Folge von Elementen, die eine Datei identifiziert. Er beginnt mit einem optionalen root-name (z.B. "C:" oder "//server" ), gefolgt von einem optionalen root-directory (z.B. "/" unter Unix), gefolgt von einer Folge von null oder mehr Dateinamen (von denen alle außer dem letzten Verzeichnisse oder Links zu Verzeichnissen sein müssen). Das native Format (z.B. welche Zeichen als Trennzeichen verwendet werden) und die Zeichenkodierung der Zeichenkettenrepräsentation eines Pfads (der Pfadname ) ist implementierungsdefiniert; diese Bibliothek bietet eine portable Darstellung von Pfaden.
-
- absolute path : ein Pfad, der den Speicherort einer Datei eindeutig identifiziert.
- canonical path : ein absoluter Pfad, der keine Symlinks, "." oder ".." Elemente enthält.
- relative path : ein Pfad, der eine Datei relativ zu einem bestimmten Ort im Dateisystem identifiziert. Die speziellen Pfadnamen . (Punkt, "aktuelles Verzeichnis") und .. (Punkt-Punkt, "übergeordnetes Verzeichnis") sind relative Pfade.
Klassen
|
repräsentiert einen Pfad
(Klasse) |
|
|
eine Ausnahme bei Dateisystemfehlern
(Klasse) |
|
|
ein Verzeichniseintrag
(Klasse) |
|
|
ein Iterator für die Inhalte eines Verzeichnisses
(Klasse) |
|
|
ein Iterator für die Inhalte eines Verzeichnisses und seiner Unterverzeichnisse
(Klasse) |
|
|
repräsentiert Dateityp und Berechtigungen
(Klasse) |
|
|
Informationen über freien und verfügbaren Speicherplatz im Dateisystem
(Klasse) |
|
|
der Typ einer Datei
(Enumeration) |
|
|
identifiziert Dateisystemberechtigungen
(Enumeration) |
|
|
spezifiziert die Semantik von Kopiervorgängen
(Enumeration) |
|
|
Optionen für die Iteration von Verzeichnisinhalten
(Enumeration) |
|
|
repräsentiert Dateizeitwerte
(Typdefinition) |
Nicht-Member-Funktionen
|
bildet einen absoluten Pfad
konvertiert einen Pfad zu einem absoluten Pfad unter Nachbildung OS-spezifischen Verhaltens (Funktion) |
|
|
bildet einen kanonischen Pfad
(Funktion) |
|
|
kopiert Dateien oder Verzeichnisse
(Funktion) |
|
|
kopiert Dateiinhalte
(Funktion) |
|
|
kopiert einen symbolischen Link
(Funktion) |
|
|
erstellt neues Verzeichnis
(Funktion) |
|
|
erstellt eine Hardlink
(Funktion) |
|
|
erstellt eine symbolische Verknüpfung
(Funktion) |
|
|
gibt das aktuelle Arbeitsverzeichnis zurück
(Funktion) |
|
|
prüft, ob der Pfad auf ein existierendes Dateisystemobjekt verweist
(Funktion) |
|
|
prüft, ob zwei Pfade auf dasselbe Dateisystemobjekt verweisen
(Funktion) |
|
|
gibt die Größe einer Datei zurück
(Funktion) |
|
|
gibt die Anzahl der Hardlinks zurück, die auf die spezifische Datei verweisen
(Funktion) |
|
|
ermittelt oder setzt den Zeitpunkt der letzten Datenänderung
(Funktion) |
|
|
ändert Dateizugriffsberechtigungen
(Funktion) |
|
|
ermittelt das Ziel eines symbolischen Links
(Funktion) |
|
|
entfernt eine Datei oder leeres Verzeichnis
entfernt eine Datei oder Verzeichnis und alle dessen Inhalte rekursiv (Funktion) |
|
|
verschiebt oder benennt eine Datei oder ein Verzeichnis um
(Funktion) |
|
|
ändert die Größe einer regulären Datei durch Kürzung oder Auffüllung mit Nullen
(Funktion) |
|
|
ermittelt den verfügbaren freien Speicherplatz im Dateisystem
(Funktion) |
|
|
bestimmt Dateiattribute
bestimmt Dateiattribute, überprüft das Symlink-Ziel (Funktion) |
|
|
gibt ein Verzeichnis zurück, das für temporäre Dateien geeignet ist
(Funktion) |
|
Dateitypen |
|
|
prüft, ob der angegebene Pfad auf ein Blockgerät verweist
(Funktion) |
|
|
prüft, ob der angegebene Pfad auf ein Zeichengerät verweist
(Funktion) |
|
|
prüft, ob der angegebene Pfad auf ein Verzeichnis verweist
(Funktion) |
|
|
prüft, ob der angegebene Pfad auf eine leere Datei oder ein leeres Verzeichnis verweist
(Funktion) |
|
|
prüft, ob der angegebene Pfad auf eine Named Pipe verweist
(Funktion) |
|
|
prüft, ob das Argument auf eine
andere
Datei verweist
(Funktion) |
|
|
prüft, ob das Argument auf eine reguläre Datei verweist
(Funktion) |
|
|
prüft, ob das Argument auf einen benannten IPC-Socket verweist
(Funktion) |
|
|
prüft, ob das Argument auf einen symbolischen Link verweist
(Funktion) |
|
|
prüft, ob der Dateistatus bekannt ist
(Funktion) |
|
Siehe auch
|
C++ Dokumentation
für
Filesystem library
(C++17)
|