Чтение символической ссылки в C++
Из символической ссылки читают сохраненный путь через read_symlink, не открывая целевой файл.
Сначала создадим временную пару имен, затем прочитаем ссылку и выведем сохраненную строку:
#include <filesystem>
#include <iostream>
std::filesystem::create_symlink("target.tmp", "link.tmp");
std::filesystem::path link{"link.tmp"};
std::filesystem::path aim = std::filesystem::read_symlink(link);
std::cout << aim.string() << "\n";
Если link.tmp еще нет, тот же вызов на
переменной link завершится ошибкой -
проверяйте наличие объекта отдельно.
Объявите std::filesystem::path link
со значением "alias.tmp". Передайте
link в std::filesystem::read_symlink
и выведите string, если ссылка
существует в вашем каталоге.