linux 系統函數之 (dirname, basename)【轉】


轉自:http://blog.csdn.net/peter_cloud/article/details/9308333

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM