Chinaunix首页 | 论坛 | 博客
  • 博客访问: 516363
  • 博文数量: 118
  • 博客积分: 10028
  • 博客等级: 上将
  • 技术积分: 1820
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-07 18:46
文章分类

全部博文(118)

文章存档

2009年(12)

2008年(106)

我的朋友

分类: C/C++

2008-04-02 15:41:18


1. 有两个SHELL命令有此功能:

              dirname和basename

2. 同名的两个C函数:  (man 文档)


      #include

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

DESCRIPTION
       Warning: there are two different functions basename() - see below.

       The functions dirname() and basename() break a null-terminated pathname
       string into directory and filename  components.   In  the  usual  case,
       dirname()  returns  the string up to, but not including, the final ’/’,
       and basename() returns the component following the final ’/’.  Trailing
       ’/’ characters are not counted as part of the pathname.

       If  path  does  not  contain  a slash, dirname() returns the string "."
       while basename() returns a copy of path.  If path is  the  string  "/",
       then both dirname() and basename() return the string "/".  If path is a
       NULL pointer or points to an empty  string,  then  both  dirname()  and
       basename() return the string ".".

       Concatenating  the  string returned by dirname(), a "/", and the string
       returned by basename() yields a complete pathname.

       Both dirname() and basename() may  modify  the  contents  of  path,  so
       copies should be passed to these functions.  Furthermore, dirname() and
       basename() may return pointers to statically allocated memory which may
       be overwritten by subsequent calls.

       The  following  list  of  examples (taken from SUSv2) shows the strings
       returned by dirname() and basename() for different paths:

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

阅读(13844) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~