专栏中心

EEPW首页 > 专栏 > linux 系统函数之 (dirname, basename)

linux 系统函数之 (dirname, basename)

发布人:电子禅石 时间:2021-08-12 来源:工程师 发布文章

   除非你的原件考虑跨平台。


       在linux编程多使用一些系统函数真的很方便,哎没办法越来越懒~~~~~~


       今天记录一下dirname 和basename这两个简单的处理文件路径的linux系统函数。


      


       


        头文件:


                         #include <libgen.h>


        函数定义:


                         char *dirname(char *path); //注意这里,最终会修改path 的值,使其变成目录名


                         char *basename(char *path);


        功能描述:


                        char *dirname(char *path);


                        功能: 截取path中的目录路径返回。


                        char *basename(char *path);


                        功能: 截取path中的去目录部分的最后的文件或路径名。


         返回值:


                       char *dirname(char *path);


                       成功: 返回截取path中的目录路径指针。


                       失败: 返回 NULL


                       char *basename(char *path);


                       成功: 返回截取path中的去目录部分的最后的文件或路径名指针。


                       失败: 返回 NULL


 


 


示例图:


                       path         dirname    basename

                       "/usr/lib"    "/usr"    "lib"

                       "/usr/"       "/"       "usr"

                       "usr"         "."       "usr"

                       "/"           "/"       "/"

                       "."           "."       "."

                       ".."          "."       ".."


           


代码示例:              


                     char *dirc, *basec, *bname, *dname;

                     char *path = "/etc/passwd";


                     dirc = strdup(path);

                     basec = strdup(path);

                     dname = dirname(dirc);

                     bname = basename(basec);

                     printf("dirname=%s, basename=%s\n", dname, bname);


 


 

原文链接:https://blog.csdn.net/peter_cloud/article/details/9308333


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: C
更多 培训课堂
更多 焦点
更多 视频

技术专区