РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
510 of 815 menu

Функция create_symlink

Функция create_symlink создает символическую ссылку (symlink) на существующий файл или директорию. Первым параметром функция принимает путь, на который будет указывать ссылка, а вторым - путь, по которому следует создать саму ссылку. В качестве третьего необязательного параметра можно передать объект ошибки.

Символическая ссылка - это специальный файл, который содержит путь к другому файлу или директории. При обращении к ссылке операционная система перенаправляет запрос на целевой объект.

Синтаксис

void create_symlink(const path& target, const path& link); void create_symlink(const path& target, const path& link, error_code& ec);

Пример

Давайте создадим символическую ссылку "link.txt", которая будет указывать на файл "abcde.txt":

#include <iostream> #include <filesystem> #include <fstream> using namespace std; namespace fs = std::filesystem; int main() { ofstream("abcde.txt") << "hello"; fs::create_symlink("abcde.txt", "link.txt"); cout << fs::is_symlink("link.txt") << endl; return 0; }

Результат выполнения кода:

1

Пример

Давайте создадим символическую ссылку на директорию и проверим, куда она указывает:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::create_directory("mydir"); fs::create_symlink("mydir", "linkdir"); cout << fs::is_symlink("linkdir") << endl; cout << fs::is_directory("linkdir") << endl; return 0; }

Результат выполнения кода:

1 1

Пример

Давайте создадим символическую ссылку с использованием объекта ошибки, чтобы избежать исключения при неудаче:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { error_code ec; fs::create_symlink("abcde.txt", "link2.txt", ec); if (ec) { cout << "Error: " << ec.message() << endl; } else { cout << "Symlink created" << endl; } return 0; }

Результат выполнения кода:

"Symlink created"

Смотрите также

  • функция is_symlink,
    которая проверяет, является ли путь символической ссылкой
  • функция remove,
    которая удаляет файл или символическую ссылку
  • функция canonical,
    которая возвращает канонический путь
  • функция equivalent,
    которая проверяет эквивалентность двух путей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить