Главная » 2017 » Ноябрь » 16 » man 3 basename
00:06
man 3 basename

SEO sprint - Всё для максимальной раскрутки!

НАЗВАНИЕ
dirname, basename - обрабатывают элементы пути к файлу
СИНТАКСИС

#include

char *dirname(char *path);
char *basename(char *path);


ОПИСАНИЕ
dirname и basename разбивают путь к файлу (заканчивающийся NULL) на каталоги и имя файла. Обычно, dirname возвращает строку содержащую путь к файлу до последнего знака '/', а basename возвращает строку содержащую часть после последнего знака '/'. Последний знак '/' не считается компонентом пути.

Если path не включает в себя слэш, то dirname возвращает строку ".", а basename возвращает копию path. Если path это строка из "/", то dirname и basename возвращают "/". Если path нулевая строка или указывает на нее, то dirname и basename возвращают строку ".".

Объеденив строки возвращаемые dirname, и basename можно получить полный путь.

Функции dirname и basename могут изменить содержание path, поэтому если вы хотите сохранить путь, то он не должен обрабатываться этими функциями. Более того, dirname и basename могут вернуть указатели на постоянно выделенную память которая может быть перезаписана соответствующими вызовами.

Ниже следует список примеров (SUSv2) показывающих строки возвращаемые dirname и basename для различных путей:

path dirname basename
"/usr/lib" "/usr" "lib"
"/usr/" "/" "usr"
"usr" "." "usr"
"/" "/" "/"
"." "." "."
".." "." ".."


ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

char *dirc, *basec, *bname, *dname;
char *path = "/etc/passwd";

dirc = strdup(path);
basec = strdup(path);
dname = dirname(dirc);
bname = basename(basec);
printf("dirname=%s, basename=%s\n", dname, bname);
free(dirc);
free(basec);


ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функции dirname и basename возвращает указатели на строки завершающиеся NULL.
НАЙДЕННЫЕ ОШИБКИ
В версиях glibc включая 2.2.1, dirname не правильно обрабатывает пути оканчивающиеся на '/', и генерирует нарушение элементов пути.
СООТВЕТСТВИЕ СТАНДАРТАМ
SUSv2
СМ. ТАКЖЕ
dirname(1), basename(1),
Категория: (3) Библиотечные вызовы (функции различных библиотек, установленных в систему) | Просмотров: 489 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar