std::filesystem:: read_symlink
From cppreference.net
<
cpp
|
filesystem
|
Défini dans l'en-tête
<filesystem>
|
||
|
std::
filesystem
::
path
read_symlink
(
const
std::
filesystem
::
path
&
p
)
;
|
(1) | (depuis C++17) |
|
std::
filesystem
::
path
read_symlink
(
const
std::
filesystem
::
path
&
p,
std:: error_code & ec ) ; |
(2) | (depuis C++17) |
Si le chemin p fait référence à un lien symbolique, retourne un nouvel objet de chemin qui fait référence à la cible de ce lien symbolique.
C'est une erreur si p ne fait pas référence à un lien symbolique.
La surcharge non levante retourne un chemin vide en cas d'erreurs.
Table des matières |
Paramètres
| p | - | chemin vers un lien symbolique |
| ec | - | paramètre de sortie pour le rapport d'erreur dans la surcharge non-lancée |
Valeur de retour
La cible du lien symbolique (qui peut ne pas nécessairement exister).
Exceptions
Toute surcharge non marquée
noexcept
peut lever
std::bad_alloc
si l'allocation de mémoire échoue.
1)
Lance
std::filesystem::filesystem_error
en cas d'erreurs de l'API système sous-jacente, construit avec
p
comme premier argument de chemin et le code d'erreur du système comme argument de code d'erreur.
2)
Définit un paramètre
std::
error_code
&
au code d'erreur de l'API du système d'exploitation si un appel d'API du système d'exploitation échoue, et exécute
ec.
clear
(
)
si aucune erreur ne survient.
Exemple
Exécuter ce code
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { for (fs::path p : {"/usr/bin/gcc", "/bin/cat", "/bin/mouse"}) { std::cout << p; fs::exists(p) ? fs::is_symlink(p) ? std::cout << " -> " << fs::read_symlink(p) << '\n' : std::cout << " exists but it is not a symlink\n" : std::cout << " does not exist\n"; } }
Sortie possible :
"/usr/bin/gcc" -> "gcc-5" "/bin/cat" exists but it is not a symlink "/bin/mouse" does not exist
Voir aussi
|
(C++17)
|
vérifie si l'argument fait référence à un lien symbolique
(fonction) |
|
(C++17)
(C++17)
|
crée un lien symbolique
(fonction) |
|
(C++17)
|
copie un lien symbolique
(fonction) |
|
(C++17)
(C++17)
|
détermine les attributs de fichier
détermine les attributs de fichier en vérifiant la cible du lien symbolique (fonction) |