2012-01-17 2 views
6

Есть ли какая-либо стандартная (или широко используемая) простая библиотека управления трассировкой POSIX для C (объединение пути, удаление дескриптора файла и т. Д.)?Стандартная (или свободная) манипуляция с помощью POSIX C библиотека

На самом деле, поскольку я в основном работаю под Windows, в настоящее время я использую функции пути 'shlwapi'.

Есть ли эквивалентный набор функций, доступных для путей POSIX?

+2

Оффлайн: Поскольку несколько '/' ничего не болят, и в POSIX-системах нет такой вещи, как «расширение», многие из этих методов не имеют значения ... вы обычно можете справиться с манипуляциями со строками , 'realpath' или' glob'. Не технически ответ на то, что вы просили, хотя ... :-) – BRFennPocock

+3

@BRPocock: Несколько '/' es не всегда безопасны - например, в [kpathsea] (http://tug.org/texinfohtml/kpathsea.html) , '/ foo //' расширяется во всех подкаталогах под '/ foo' (что может быть чрезвычайно сложно отследить, если вы проходите путь к чему-то, что использует kpathsea внутри - например, латекс). –

+0

@timothy Jones ... правда, хотя в моем мире относительно редко ... но realpath действительно исправляет это, а также символические ссылки ... как это делает, по-своему, глобус. – BRFennPocock

ответ

8
  • путь присоединиться - snprintf()
  • имя_файла зачистки - имя_директории()
  • и т.д. - базовое(), Realpath(), readlink(), Glob(), fnmatch() ...
+0

Спасибо, это те функции, которые я имел в виду. Вы случайно знаете онлайн-список таких, как эквивалент страницы msdn, с которой я связан? – rotoglup

+0

Я не знаю, почему вы не используете Google для поиска всех этих слов на странице? Или просто посмотрите разделы «СМОТРИТЕ ТАКЖЕ» на страницах руководства для каждого. –

+0

Просто спрашивая, я уже пытался это сделать, но не смог найти никакой синтетической информации; отношение шума/сигнала довольно велико, поскольку эти функции также существуют в PHP, Ruby и т. д. В любом случае ... – rotoglup