linux 系统函数之 (dirname, basename)

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

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

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

      

       

        头文件:

                         #include <libgen.h>

        函数定义:

                         char *dirname(char *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);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值