std::filesystem:: absolute
|
Definiert im Header
<filesystem>
|
||
|
path absolute
(
const
std::
filesystem
::
path
&
p
)
;
|
(1) | (seit C++17) |
|
path absolute
(
const
std::
filesystem
::
path
&
p,
std::
error_code
&
ec
)
;
|
(2) | (seit C++17) |
Gibt einen Pfad zurück, der auf den gleichen Dateisystemort verweist wie p , für den filesystem::path::is_absolute() true ist.
Inhaltsverzeichnis |
Parameter
| p | - | Pfad, der in absolute Form umgewandelt werden soll |
| ec | - | Out-Parameter für Fehlerberichterstattung in der nicht-werfenden Überladung |
Rückgabewert
Gibt einen absoluten (wenn auch nicht notwendigerweise kanonischen) Pfadnamen zurück, der auf dieselbe Datei verweist wie p .
Exceptions
Jede Überladung, die nicht als
noexcept
gekennzeichnet ist, kann
std::bad_alloc
auslösen, wenn die Speicherzuweisung fehlschlägt.
Hinweise
Implementierungen wird empfohlen, das Nichtvorhandensein von p nicht als Fehler zu betrachten.
Für POSIX-basierte Betriebssysteme ist std :: filesystem :: absolute ( p ) äquivalent zu std:: filesystem :: current_path ( ) / p außer wenn p der leere Pfad ist.
Für Windows,
std::filesystem::absolute
kann als Aufruf von
GetFullPathNameW
implementiert sein.
Beispiel
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { std::filesystem::path p = "foo.c"; std::cout << "Current path is " << std::filesystem::current_path() << '\n'; std::cout << "Absolute path for " << p << " is " << fs::absolute(p) << '\n'; }
Mögliche Ausgabe:
Current path is "/tmp/1666297965.0051296" Absolute path for "foo.c" is "/tmp/1666297965.0051296/foo.c"
Siehe auch
|
(C++17)
|
bildet einen kanonischen Pfad
(Funktion) |
|
(C++17)
|
bildet einen relativen Pfad
(Funktion) |