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);
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/273726.html