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

下面是实例代码:

 /*
* 截取给定路径的文件名,获取路径最后一个'/'后面的内容
* example:
* basename("/usr/test/hello.c");
* hello.c
* basename("/sdcard/update.zip");
* update.zip
* basename("/usr/bin");
* bin
*/ #include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/stat.h>
#include <libgen.h>
#include <unistd.h> int main(int argc, char *argv[]) {
char *test_a = "/usr/bin";
char *test_b = "/sdcard/miui_recovery/backup/blobs";
char *test_c = "/sdcard/update.zip";
printf("Test 1: '/usr/bin' -> %s \n", basename(test_a));
printf("Test 2: '/sdcard/miui_recovery/backup/blobs' -> %s \n", basename(test_b));
printf("Test 3: '/sdcard/update.zip' -> %s \n", basename(test_c));
return ;
}

代码片段二:

 /* 获取 给定路径的目录部分
* example:
* dirname("/usr/test/hello.c");
*'/usr/test'
* dirname("/usr/bin");
* '/usr"
*/ #include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
#include <libgen.h>
#include <sys/stat.h> int main(int argc, char *argv[]) {
char *test_a = "/usr/bin";
char *test_b = "/sdcard/miui_recovery/backup/blobs";
char *test_c = "/sdcard/update-signed.zip";
printf("Test 1: '/usr/bin' - > %s \n", dirname(test_a));
printf("Test 2: '/sdcard/miui_recovery/backup/blobs' -> %s \n", dirname(test_b));
printf("Test 3: '/sdcard/update-signed.zip' -> %s \n", dirname(test_c));
return ;
}

basename, dirname 在C语言中的使用的更多相关文章

  1. linux学习笔记之 basename, dirname

    前言: basename: 用于打印目录或者文件的基本名称 dirname: 去除文件名中的非目录部分,仅显示与目录有关的内容.dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部 ...

  2. [sh]basename&dirname截取路径和文件名&case参数选项

    给出全路径,取出路径和文件名 basename使用示例 http://codingstandards.iteye.com/blog/840784 示例一 [root@web ~]# basename ...

  3. 001PHP文件处理——文件处理disk_total_space disk_free_space basename dirname file_exists filetype

    <?php /** * 文件处理disk_total_space disk_free_space basename dirname file_exists filetype */ //disk_ ...

  4. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  5. Java语言中的面向对象特性总结

    Java语言中的面向对象特性 (总结得不错) [课前思考]  1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类?  2. 面向对象编程的特性有哪三个?它们各自又有哪些特性?  3. 你知 ...

  6. python语言中的编码问题

    在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的 ...

  7. 在C语言中利用PCRE实现正则表达式

    1. PCRE简介 2. 正则表达式定义 3. PCRE正则表达式的定义 4. PCRE的函数简介 5. 使用PCRE在C语言中实现正则表达式的解析 6. PCRE函数在C语言中的使用小例子 1. P ...

  8. C语言中函数声明实现的位置

    在学习C语言的时候我遇到了这么个事情,因为之前先学习的C#,在C#编译器中,函数的声明位置不会影响编译的结果,但是在C语言中却发生了错误 先看一段代码: #include <stdio.h> ...

  9. C语言中的栈和堆

    原文出处<http://blog.csdn.net/xiayufeng520/article/details/45956305#t0> 栈内存由编译器分配和释放,堆内存由程序分配和释放. ...

随机推荐

  1. 从零开始学C++之从C到C++(二):引用、内联函数inline、四种类型转换运算符

    一.引用 (1).引用是给一个变量起别名 定义引用的一般格式:类型  &引用名 = 变量名: 例如:int a=1; int  &b=a;// b是a的别名,因此a和b是同一个单元 注 ...

  2. 改动file header (測)

    --改动file header ------------------------------------------------------------------------- cd $ORACLE ...

  3. 简单的三方登录SDK示例,Android Activity之间数据的传递

    先建立Library工程,即普通工程然后在Android的属性勾选Library选项. 这里建立的工程为 mySdk ,Activity名为LoginActivity. LoginActivity代码 ...

  4. Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单

    原文:Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单 长长的列表文字类型文件 分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 214 ...

  5. HDU 3277 Marriage Match III(二分+最大流)

    HDU 3277 Marriage Match III 题目链接 题意:n个女孩n个男孩,每一个女孩能够和一些男孩配对,此外还能够和k个随意的男孩配对.然后有些女孩是朋友,满足这个朋友圈里面的人.假设 ...

  6. SpringMVC配置+小例子

    先加入SpringMVC的jar包,这个官网上有,下载下来放到lib文件夹下. web.xml文件: <?xml version="1.0" encoding="U ...

  7. poj1651(区间dp)

    题目连接:http://poj.org/problem?id=1651 题意:给出一组N个数,每次从中抽出一个数(第一和最后一个不能抽),该次的得分即为抽出的数与相邻两个数的乘积.直到只剩下首尾两个数 ...

  8. sar使用说明

     sar这东西,一开始还以为是内部有的,原来是外部的工具,可以到 http://pagesperso-orange.fr/sebastien.godard/download.html 去下载 1 安装 ...

  9. mac和windows系统下 eclipse svn 设置代理服务器

    公司svn服务器在海外,有时候迫不得已svn也得设置代理 网上查了好长时间都只有windows下如何设置,mac系统下的教程很少. 1.在windows下设置方法如下 找到C:\Documentsan ...

  10. jQuery中的getJSON()

    json文件是一种轻量级的数据交互格式.一般在jQuery中使用getJSON()方法读取. $.getJSON(url,[data],[callback]) url:json文件地址 data:可选 ...