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

Метод lexically_normal

Метод lexically_normal класса path возвращает новый объект path, представляющий лексически нормализованную форму исходного пути. Нормализация выполняется чисто лексически, то есть без обращения к файловой системе. Метод убирает избыточные разделители, элементы "." и сворачивает элементы ".." вместе с предшествующими им обычными элементами. Метод не принимает параметров и не изменяет исходный объект.

Синтаксис

path.lexically_normal()

Пример

Давайте нормализуем путь, содержащий избыточные разделители и элементы ".":

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "a/./b//c"; cout << p.lexically_normal() << endl; return 0; }

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

"a/b/c"

Пример

Давайте нормализуем путь, содержащий элементы "..", которые можно свернуть:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "a/b/../c"; cout << p.lexically_normal() << endl; return 0; }

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

"a/c"

Пример

Давайте нормализуем путь, в котором элементы ".." стоят в начале и не могут быть свернуты:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "../a/../b"; cout << p.lexically_normal() << endl; return 0; }

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

"../b"

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

  • класс path,
    который представляет путь к файлу или каталогу
  • метод parent_path,
    который возвращает родительский каталог пути
  • метод filename,
    который возвращает имя файла из пути
  • метод is_absolute,
    который проверяет, является ли путь абсолютным
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить