zoukankan      html  css  js  c++  java
  • basename, dirname 在C语言中的使用

    basename作用是得到特定的路径中的最后一个'/',后面的内容

    如/usr/bin,得到的内容就是bin

    如果/sdcard/miui_recovery/backup

    得到的内容就是backup

    如果是/sdcard/update.zip

    得到的内容就是update.zip

    ----------------------------------------------------

    dirname作用是 截取给定路径的目录部分

    如/usr/bin,得到的内容就是/usr

    如/sdcard/miui_recovery/backup,得到的内容是/sdcard/miui_recovery

    如/sdcard/update.zip,得到的内容是/sdcard

    下面是实例代码:

     1 /*
     2  * 截取给定路径的文件名,获取路径最后一个'/'后面的内容
     3  * example:
     4  * basename("/usr/test/hello.c");
     5  * hello.c
     6  * basename("/sdcard/update.zip");
     7  * update.zip
     8  * basename("/usr/bin");
     9  * bin
    10  */
    11 
    12 #include <stdio.h>
    13 #include <stdlib.h>
    14 #include <dirent.h>
    15 #include <sys/stat.h>
       #include <libgen.h> 
    16 #include <unistd.h> 17 18 int main(int argc, char *argv[]) { 19 char *test_a = "/usr/bin"; 20 char *test_b = "/sdcard/miui_recovery/backup/blobs"; 21 char *test_c = "/sdcard/update.zip"; 22 printf("Test 1: '/usr/bin' -> %s ", basename(test_a)); 23 printf("Test 2: '/sdcard/miui_recovery/backup/blobs' -> %s ", basename(test_b)); 24 printf("Test 3: '/sdcard/update.zip' -> %s ", basename(test_c)); 25 return 0; 26 }

    代码片段二:

     1 /* 获取 给定路径的目录部分
     2  * example:
     3  * dirname("/usr/test/hello.c");
     4  *'/usr/test'
     5  * dirname("/usr/bin");
     6  * '/usr"
     7  */
     8 
     9 #include <stdio.h>
    10 #include <stdlib.h>
    11 #include <unistd.h>
    12 #include <dirent.h>
       #include <libgen.h>
    13 #include <sys/stat.h> 14 15 int main(int argc, char *argv[]) { 16 char *test_a = "/usr/bin"; 17 char *test_b = "/sdcard/miui_recovery/backup/blobs"; 18 char *test_c = "/sdcard/update-signed.zip"; 19 printf("Test 1: '/usr/bin' - > %s ", dirname(test_a)); 20 printf("Test 2: '/sdcard/miui_recovery/backup/blobs' -> %s ", dirname(test_b)); 21 printf("Test 3: '/sdcard/update-signed.zip' -> %s ", dirname(test_c)); 22 return 0; 23 }
  • 相关阅读:
    [测试题]钦点
    香港记者
    【模板】三维偏序
    C. Journey
    B. Game of the Rows
    A. Arya and Bran
    D. Statistics of Recompressing Videos
    人们对Python在企业级开发中的10大误解
    各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT
    WPF.UIShell UIFramework之自定义窗口的深度技术
  • 原文地址:https://www.cnblogs.com/sn-dnv-aps/p/3192318.html
Copyright © 2011-2022 走看看