Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

DIRNAME

Section: Linux Programmer's Manual (3)
Updated: December 14, 2000
Index Return to Main Contents
 

̾Á°

dirname, basename - ¥Ñ¥¹Ì¾¤ò¥Ñ¡¼¥¹¤·¤Æ³ÆÉôʬ¤ò¼è¤ê½Ð¤¹  

½ñ¼°

#include <libgen.h>

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

ÀâÌÀ

dirname ¤È basename ¤Ï¡¢NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿¥Ñ¥¹Ì¾¤Îʸ»úÎó¤ò¡¢ ¥Ç¥£¥ì¥¯¥È¥êÉôʬ¡¦¥Õ¥¡¥¤¥ë̾Éôʬ¤Ëʬ³ä¤¹¤ë¡£ Ä̾ï¤Î¾ì¹ç¤Ï dirname ¤ÏºÇ¸å¤Î '/' ¤Þ¤Ç¤ÎÉôʬ (ºÇ¸å¤Î '/' ¤Ï´Þ¤Þ¤Ê¤¤) ¤òÊÖ¤·¡¢ basename ¤ÏºÇ¸å¤Î '/' °Ê¹ß¤ÎÉôʬ¤òÊÖ¤¹¡£ ʸ»úÎó¤ÎËöÈø¤Ë¤Ä¤¤¤¿ '/' ʸ»ú¤Ï¡¢¥Ñ¥¹Ì¾¤Î°ìÉô¤È¤Ï¤ß¤Ê¤µ¤ì¤Ê¤¤¡£

path ¤Ë '/' ʸ»ú¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢ dirname ¤Ïʸ»úÎó "." ¤òÊÖ¤·¡¢ basename ¤Ï path ¤ÈƱ¤¸ÆâÍÆ¤òÊÖ¤¹¡£ path ¤¬Ê¸»úÎó "/" ¤ËÅù¤·¤¤¾ì¹ç¤Ï¡¢ dirname ¤â basename ¤âʸ»úÎó "/" ¤òÊÖ¤¹¡£ path ¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤À¤Ã¤¿¤ê¡¢¶õ¤Îʸ»úÎó¤ò»Ø¤·¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢ dirname ¤â basename ¤âʸ»úÎó "." ¤òÊÖ¤¹¡£

dirname ¤ÎÊÖ¤·¤¿Ê¸»úÎó¡¢ "/"¡¢ basename ¤ÎÊÖ¤·¤¿Ê¸»úÎó¡¢ ¤ò½ç¤Ë·ë¹ç¤¹¤ë¤È¡¢´°Á´¤Ê¥Ñ¥¹Ì¾¤¬ÆÀ¤é¤ì¤ë¡£

dirname ¤È basename ¤Ï¡¢¤¤¤º¤ì¤â path ¤ÎÆâÍÆ¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¥Ñ¥¹Ì¾Ê¸»úÎó¤òÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢ ¤³¤ì¤é¤Î´Ø¿ô¤Ë¤Ï¥³¥Ô¡¼¤òÅϤ¹¤³¤È¡£ ¤µ¤é¤Ë dirname ¤ª¤è¤Ó basename ¤Ï¡¢ÀÅŪ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¤³¤È¤¬¤¢¤ê¡¢ ¤³¤ì¤é¤ÎÎΰè¤Ï¸å¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¾å½ñ¤­¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

°Ê²¼¤Î°ìÏ¢¤ÎÎã (SUSv2 ¤«¤éºÎ¤Ã¤¿) ¤Ï¡¢ ¤¤¤í¤¤¤í¤Ê path ¤ËÂФ·¤Æ 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 ¤Ï¡¢¤¤¤º¤ì¤â NUL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£  

¥Ð¥°

¥Ð¡¼¥¸¥ç¥ó 2.2.1 ¤ª¤è¤Ó¤½¤ì¤è¤êÁ°¤Î glibc ¤Ç¤Ï¡¢ dirname ¤ÏËöÈø¤¬ '/' ʸ»ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Ñ¥¹Ì¾¤òÀµ¤·¤¯°·¤ï¤Ê¤«¤Ã¤¿¡£ ¤Þ¤¿°ú¤­¿ô¤¬ NULL ¤À¤È¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó°ãÈ¿¤òµ¯¤³¤·¤¿¡£  

½àµò

SUSv2  

´ØÏ¢¹àÌÜ

dirname(1), basename(1)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
Îã
ÊÖ¤êÃÍ
¥Ð¥°
½àµò
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man3". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.