DIRNAME 3 2000-12-14
目录
DIRNAME
NAMEæ»è§
æè¿°
ç¤ºä¾ (EXAMPLE)
è¿åå¼ (RETURN VALUE)
BUGS
éµå¾ª (CONFORMING TO)
å¦è§ (SEE ALSO)
[䏿çç»´æ¤äºº]
[ä¸æçææ°æ´æ°]
ãä¸å½Linux论åmanæå页翻è¯è®¡åã
è·
NAME
dirname, basename - è§£æè·¯å¾ç»æé¨å
æ»è§
#include <libgen.h>
char
*dirname(char *path);
char *basename(char *path);
æè¿°
dirname å basename æ 以 null ç»å°¾ ç è·¯å¾å å解为 ç®å½ å æä»¶å. ä¸è¬æåµä¸, dirname è¿å è·¯å¾å ç åé¢é¨å, ç´å° (ä½ä¸åæ¬) æåä¸ä¸ª ’/’, è basename å è¿å æåä¸ä¸ª ’/’ åé¢ ç å容. 妿 è·¯å¾å 以 ’/’ ç»å°¾, 该 ’/’ 被认为 䏿¯ è·¯å¾å ç ä¸é¨å.
妿 è·¯å¾å path ä¸åå« ææ ’/’, dirname è¿å å符串 ".", è basename è¿å path ç 坿¬. 妿 è·¯å¾å path æ¯ "/", å dirname å basename å è¿å "/". 妿 è·¯å¾å path æ¯ NULL æé æ æå 空串, å dirname å basename å è¿å ".".
æ dirname è¿åç å符串, "/", å basename è¿åç å符串 è¿æ¥ èµ·æ¥, è½å¤ 产ç ä¸ä¸ª 宿´ ç è·¯å¾å.
æ 论 dirname è¿æ¯ basename é½ æå¯è½ æ´æ¹ path ç å容, å æ¤ 妿 éè¦ ä¿æ¤ åæ è·¯å¾å, åºè¯¥ ä¼ é 坿¬ ä½ä¸º åæ°. æ¤å¤, dirname å basename è¿åç æé å¯è½ æå ä¸å éæåé ç åå, ä¼è¢« 䏿¬¡ è°ç¨ è¦ç.
ä¸é¢ ç ä¾å (æèª SUSv2) å±ç¤ºäº å¯¹äº ä¸åç è·¯å¾å, 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.net
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh