Namespaces
Variants

std::experimental::filesystem:: read_symlink

From cppreference.net
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

#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)