linux 系统函数之 (dirname, basename)

 

 1 版权声明:本文为博主原创文章,未经博主允许不得转载。
 2 
 3         除非你的原件考虑跨平台。
 4 
 5        在Linux编程多使用一些系统函数真的很方便,哎没办法越来越懒~~~~~~
 6 
 7        今天记录一下dirname 和basename这两个简单的处理文件路径的linux系统函数。
 8 
 9       
10 
11        
12 
13         头文件:
14 
15                          #include <libgen.h>
16 
17         函数定义:
18 
19                          char *dirname(char *path);
20 
21                          char *basename(char *path);
22 
23         功能描述:
24 
25                         char *dirname(char *path);
26 
27                         功能: 截取path中的目录路径返回。
28 
29                         char *basename(char *path);
30 
31                         功能: 截取path中的去目录部分的最后的文件或路径名。
32 
33          返回值:
34 
35                        char *dirname(char *path);
36 
37                        成功: 返回截取path中的目录路径指针。
38 
39                        失败: 返回 NULL
40 
41                        char *basename(char *path);
42 
43                        成功: 返回截取path中的去目录部分的最后的文件或路径名指针。
44 
45                        失败: 返回 NULL
46 
47  
48 
49  
50 
51 示例图:
52 
53                        path         dirname    basename
54                        "/usr/lib"    "/usr"    "lib"
55                        "/usr/"       "/"       "usr"
56                        "usr"         "."       "usr"
57                        "/"           "/"       "/"
58                        "."           "."       "."
59                        ".."          "."       ".."
60 
61            
62 
63 代码示例:              
64 
65                      char *dirc, *basec, *bname, *dname;
66                      char *path = "/etc/passwd";
67 
68                      dirc = strdup(path);
69                      basec = strdup(path);
70                      dname = dirname(dirc);
71                      bname = basename(basec);
72                      printf("dirname=%s, basename=%s\n", dname, bname);

 

posted @ 2022-07-11 19:44  墨尔基阿德斯  阅读(189)  评论(0编辑  收藏  举报