Как узнать, встречается ли путь с определенным родителем? - PullRequest
0 голосов
/ 27 апреля 2011

Итак, у нас есть родитель, например somepath/**, поэтому, если кто-нибудь отправит нам somepath/myfolder/file, мы получим true, а если мы получим someotherpath/, мы получим false. Итак, как узнать, встречается ли путь с определенным родителем?

1 Ответ

1 голос
/ 27 апреля 2011

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

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

Я сделал это в Linux, используя функцию realpath(), и она работает очень хорошо, даже если путь ссылки содержит символические ссылки. Не знаю, как это сделать с помощью Boost.

...