other languages
other sections
DIRNAME(3) | Linux Programmer's Manual | DIRNAME(3) |
NAME¶
dirname, basename - 分析路径成员总览 (SYNOPSIS)¶
#include <libgen.h>char *dirname(char *path); char *basename(char *path);
描述 (DESCRIPTION)¶
dirname 和 basename 把 以 null 结尾 的 路径名 分解为 目录 和 文件名. 一般情况下, dirname 返回 路径名 的 前面部分, 直到 (但不包括) 最后一个 '/', 而 basename 则 返回 最后一个 '/' 后面 的 内容. 如果 路径名 以 '/' 结尾, 该 '/' 被认为 不是 路径名 的 一部分.path dirname basename "/usr/lib" "/usr" "lib" "/usr/" "/" "usr" "usr" "." "usr" "/" "/" "/" "." "." "." ".." "." ".."
示例 (EXAMPLE)¶
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);
返回值 (RETURN VALUE)¶
dirname 和 basename 均 返回 以 null 结尾的 字符串 的 指针.BUGS¶
在 glibc 的 各个 版本 中, 直到 (并包括) 2.2.1, dirname 无法 正确 处理 以 '/' 字符 结尾 的 路径名. 如果 参数 是 NULL 指针, 他 还会 产生 段冲突 (segmentation violation).遵循 (CONFORMING TO)¶
SUSv2另见 (SEE ALSO)¶
dirname(1), basename(1)[中文版维护人]¶
徐明 <xuming@users.sourceforge.net>[中文版最新更新]¶
2003/05/13《中国Linux论坛man手册页翻译计划》¶
http://cmpp.linuxforum.net2000-12-14 | GNU |