轉自: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);