std::filesystem::current_path
Von cppreference.com
< cpp | filesystem
| Definiert in Header <filesystem> |
||
| path current_path(); |
(1) | (seit C++17) |
| path current_path( std::error_code& ec ); |
(2) | (seit C++17) |
| void current_path( const std::filesystem::path& p ); |
(3) | (seit C++17) |
| void current_path( const std::filesystem::path& p, std::error_code& ec ) noexcept; |
(4) | (seit C++17) |
Gibt den aktuellen Pfad zurück oder ändert ihn.
1,2) Gibt den absoluten Pfad des aktuellen Arbeitsverzeichnisses zurück, ermittelt (im nativen Format) durch POSIX
getcwd. (2) gibt path() zurück, wenn ein Fehler auftritt.Inhalt |
[edit] Parameter
| p | - | Pfad, zu dem das aktuelle Arbeitsverzeichnis geändert werden soll |
| ec | - | Ausgabeparameter für Fehlerberichte in den nicht-werfenden Überladungen |
[edit] Rückgabewert
1,2) Gibt das aktuelle Arbeitsverzeichnis zurück.
3,4) (keine)
[edit] Ausnahmen
Jede Überladung, die nicht als noexcept markiert ist, kann std::bad_alloc auslösen, wenn die Speicherzuweisung fehlschlägt.
1) Wirft std::filesystem::filesystem_error bei zugrundeliegenden Betriebssystem-API-Fehlern, konstruiert mit dem Betriebssystem-Fehlercode als Fehlercode-Argument.
2) Setzt einen std::error_code& Parameter auf den Betriebssystem-API-Fehlercode, wenn ein Betriebssystem-API-Aufruf fehlschlägt, und führt ec.clear() aus, wenn keine Fehler auftreten.
3) Wirft std::filesystem::filesystem_error bei zugrundeliegenden Betriebssystem-API-Fehlern, konstruiert mit p als erstem Pfad-Argument und dem Betriebssystem-Fehlercode als Fehlercode-Argument.
4) Setzt einen std::error_code&-Parameter auf den Fehlercode der Betriebssystem-API, wenn ein Aufruf der Betriebssystem-API fehlschlägt, und führt ec.clear() aus, wenn keine Fehler auftreten.
[edit] Anmerkungen
Das aktuelle Arbeitsverzeichnis ist das Verzeichnis, das dem Prozess zugeordnet ist und als Ausgangspunkt bei der Pfadauflösung für relative Pfade verwendet wird.
Der aktuelle Pfad, der von vielen Betriebssystemen zurückgegeben wird, ist eine gefährliche globale Variable. Er kann unerwartet durch Funktionen von Drittanbietern oder Systembibliotheken oder durch einen anderen Thread geändert werden.
[edit] Beispiel
Führen Sie diesen Code aus
Mögliche Ausgabe
Current path is "D:/local/ConsoleApplication1" Current path is "E:/Temp"
[edit] Siehe auch
| (C++17) |
gibt ein Verzeichnis zurück, das für temporäre Dateien geeignet ist (Funktion) |