Namespaces
Variants

std::experimental::filesystem:: current_path

From cppreference.net
Definiert im Header <experimental/filesystem>
path current_path ( ) ;
(1) (filesystem TS)
path current_path ( error_code & ec ) ;
(2) (filesystem TS)
void current_path ( const path & p ) ;
(3) (filesystem TS)
void current_path ( const path & p, error_code & ec ) ;
(4) (filesystem TS)

Gibt den aktuellen Pfad zurück oder ändert ihn.

1,2) Gibt den absoluten Pfad des aktuellen Arbeitsverzeichnisses zurück, ermittelt wie durch POSIX getcwd . (2) gibt path ( ) zurück, falls ein Fehler auftritt.
3,4) Ändert das aktuelle Arbeitsverzeichnis zu p , wie durch POSIX chdir .

Inhaltsverzeichnis

Parameter

p - Pfad, in den das aktuelle Arbeitsverzeichnis geändert werden soll
ec - Out-Parameter für Fehlerberichterstattung in den nicht-werfenden Überladungen

Rückgabewert

1,2) Gibt das aktuelle Arbeitsverzeichnis zurück.
3,4) (keine)

Ausnahmen

1,2) Die Überladung, die keinen error_code & Parameter akzeptiert, wirft bei zugrundeliegenden OS-API-Fehlern filesystem_error , konstruiert mit dem OS-Fehlercode als Fehlercode-Argument. std:: bad_alloc kann geworfen werden, wenn die Speicherallokation fehlschlägt. Die Überladung, die einen error_code & Parameter akzeptiert, setzt diesen auf den OS-API-Fehlercode, wenn ein OS-API-Aufruf fehlschlägt, und führt ec. clear ( ) aus, wenn keine Fehler auftreten. Diese Überladung hat
noexcept Spezifikation:
noexcept
3,4) Die Überladung, die keinen error_code & Parameter akzeptiert, wirft bei zugrundeliegenden OS-API-Fehlern filesystem_error , konstruiert mit p als erstem Argument und dem OS-Fehlercode als Fehlercode-Argument. std:: bad_alloc kann ausgelöst werden, wenn die Speicherallokation fehlschlägt. Die Überladung, die einen error_code & Parameter akzeptiert, setzt diesen auf den OS-API-Fehlercode, wenn ein OS-API-Aufruf fehlschlägt, und führt ec. clear ( ) aus, wenn keine Fehler auftreten. Diese Überladung besitzt die
noexcept Spezifikation:
noexcept

Hinweise

Das aktuelle Arbeitsverzeichnis ist das Verzeichnis, das als Ausgangspunkt für die Pfadauflösung relativer Pfade verwendet wird. Ein einzelnes aktuelles Arbeitsverzeichnis ist dem gesamten Prozess zugeordnet.

Das aktuelle Arbeitsverzeichnis ist ein gefährlicher globaler Zustand des Programms. Das Verhalten verschiedener Datei-Ein-/Ausgabefunktionen wird durch den Wert des aktuellen Pfads beeinflusst. Der aktuelle Pfad kann unerwartet durch jede Komponente des Programms geändert werden, einschließlich verschiedener externer Bibliotheken oder anderer Threads.

Siehe auch