weakly_canonical и не требует существования конечного файла. Так можно заранее привести к читаемому виду имя.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpFsWc 338 of 696 menu
◀ ▶

Слабый канонический путь в C++

Лишние точки в известной части пути убирает weakly_canonical и не требует существования конечного файла.

Так можно заранее привести к читаемому виду имя, которое программа собирается создать. Запишем путь с ".." и выведем результат нормализации:

#include <filesystem> #include <iostream> std::filesystem::path raw{"logs/../notes.txt"}; std::filesystem::path flat = std::filesystem::weakly_canonical(raw); std::cout << flat.string() << "\n";

Хвост "notes.txt" может еще не лежать на диске - функция все равно схлопнет каталоги в начале цепочки.

Постройте std::filesystem::path messy со значением "tmp/../cfg.ini". Выведите std::filesystem::weakly_canonical(messy).string.

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