std::experimental::filesystem:: exists
|
Definiert im Header
<experimental/filesystem>
|
||
|
bool
exists
(
file_status s
)
|
(1) | (filesystem TS) |
|
bool
exists
(
const
path
&
p
)
;
bool exists ( const path & p, error_code & ec ) |
(2) | (filesystem TS) |
Prüft, ob der angegebene Dateistatus oder Pfad einer existierenden Datei oder einem existierenden Verzeichnis entspricht.
Inhaltsverzeichnis |
Parameter
| s | - | zu prüfender Dateistatus |
| p | - | zu untersuchender Pfad |
| ec | - | Ausgabeparameter für Fehlerberichterstattung in der nicht-werfenden Überladung |
Rückgabewert
true wenn der angegebene Pfad oder Dateistatus einer existierenden Datei oder einem existierenden Verzeichnis entspricht, false andernfalls.
Ausnahmen
Hinweise
Die von dieser Funktion bereitgestellten Informationen werden normalerweise auch als Nebenprodukt der Verzeichnisiteration bereitgestellt. Während der Verzeichnisiteration ist der Aufruf von
exists(*iterator)
weniger effizient als
exists(iterator->status())
.
Beispiel
#include <cstdint> #include <experimental/filesystem> #include <fstream> #include <iostream> namespace fs = std::experimental::filesystem; void demo_exists(const fs::path& p, fs::file_status s = fs::file_status{}) { std::cout << p; if (fs::status_known(s) ? fs::exists(s) : fs::exists(p)) std::cout << " exists\n"; else std::cout << " does not exist\n"; } int main() { fs::create_directory("sandbox"); std::ofstream("sandbox/file"); // create regular file fs::create_symlink("non-existing", "sandbox/symlink"); demo_exists("sandbox"); for (auto it = fs::directory_iterator("sandbox"); it != fs::directory_iterator(); ++it) demo_exists(*it, it->status()); // use cached status from directory entry fs::remove_all("sandbox"); }
Ausgabe:
"sandbox" exists "sandbox/file" exists "sandbox/symlink" does not exist
Siehe auch
|
bestimmt Dateiattribute
bestimmt Dateiattribute, überprüft das Symlink-Ziel (Funktion) |
|
|
repräsentiert Dateityp und Berechtigungen
(Klasse) |
|
|
zwischengespeicherter Status der durch diesen Verzeichniseintrag bezeichneten Datei
zwischengespeicherter Symlink-Status der durch diesen Verzeichniseintrag bezeichneten Datei (öffentliche Mitgliedsfunktion von
std::experimental::filesystem::directory_entry
)
|