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);