linux C获取给定路径的父目录
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <libgen.h> 5 6 int main(int argc, char*argv[]) 7 { 8 char *dirc, *basec, *bname, *dname; 9 char *path = "/data1/peifx/nfs/coredumpBx11"; 10 11 dirc = strdup(path); 12 basec = strdup(path); 13 dname = dirname(dirc); 14 bname = basename(basec); 15 16 printf(" path:%s\n dirc:%s\n basec:%s\n dname:%s\n bname:%s\n", path, dirc, basec, dname, bname); 17 18 return 0; 19 }
注意:
使用dirname(),basename()时,要拷贝一份源路径。会修改原路径字符串。