• 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 }
  • 相关阅读:
    Validation failed for one or more entities
    sql 存储过程
    SQL Server分页3种方案比拼
    case when 用法
    C#如何计算代码执行时间
    透过 Jet.OLEDB 读取 Excel里面的数据
    DataBinding?资料系结?资料绑定?
    ASP.NET的OutputCache
    我想写程序#3 之 「简单地设计自己的数据表(Table)」
    我想写程序#1 之 「先确立志向」
  • 原文地址:https://www.cnblogs.com/sn-dnv-aps/p/3192318.html
Copyright © 2020-2023  润新知