Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpFsCn 337 of 696 menu
◀ ▶

Канонический путь в C++

Функция canonical строит абсолютный путь без символических ссылок и сегментов "..", но принимает только путь к уже существующему объекту.

Рабочий каталог процесса всегда есть на диске, поэтому его удобно передать в вызов. Запишем current_path и выведем каноническую форму:

#include <filesystem> #include <iostream> std::filesystem::path here = std::filesystem::current_path(); std::filesystem::path neat = std::filesystem::canonical(here); std::cout << neat.string() << "\n";

Если передать несуществующий путь, библиотека бросит исключение - это отличает canonical от более мягких нормализаций.

Возьмите std::filesystem::current_path, передайте в std::filesystem::canonical и выведите string результата.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить