std::experimental::filesystem:: read_symlink
From cppreference.net
<
cpp
|
experimental
|
fs
|
Definido en el encabezado
<experimental/filesystem>
|
||
|
path read_symlink
(
const
path
&
p
)
;
path read_symlink ( const path & p, error_code & ec ) ; |
(filesystem TS) | |
Si la ruta p hace referencia a un enlace simbólico, retorna un nuevo objeto de ruta que hace referencia al objetivo de ese enlace simbólico.
Es un error si p no hace referencia a un enlace simbólico.
La sobrecarga que no lanza excepciones devuelve una ruta vacía en caso de errores.
Contenidos |
Parámetros
| p | - | ruta a un enlace simbólico |
| ec | - | parámetro de salida para reporte de errores en la sobrecarga no lanzadora |
Valor de retorno
El destino del enlace simbólico (que puede que no exista necesariamente).
Excepciones
The overload that does not take an error_code & parameter throws filesystem_error on underlying OS API errors, constructed with p as the first argument and the OS error code as the error code argument. std:: bad_alloc may be thrown if memory allocation fails. The overload taking an error_code & parameter sets it to the OS API error code if an OS API call fails, and executes ec. clear ( ) if no errors occur. This overload has
noexcept
especificación:
noexcept
Ejemplo
Ejecutar este código
#include <experimental/filesystem> #include <iostream> namespace fs = std::experimental::filesystem; int main() { // en un sistema Linux típico, /lib/libc.so.6 es un enlace simbólico fs::path p = "/lib/libc.so.6"; if (exists(p) && is_symlink(p)) std::cout << p << " -> " << read_symlink(p) << '\n'; else std::cout << p << " does not exist or is not a symlink\n"; }
Salida posible:
"/lib/libc.so.6" -> "libc-2.12.so"
Véase también
|
verifica si el argumento se refiere a un enlace simbólico
(función) |
|
|
crea un enlace simbólico
(función) |
|
|
copia un enlace simbólico
(función) |
|
|
determina los atributos del archivo
determina los atributos del archivo, verificando el destino del enlace simbólico (función) |