linux c实现的提取文件名的小程序
/*@author etangyushan
*工作中很多时候会和文件名打交道,有时候只需要文件名称,就写了这么一个小程序
*这个函数实现了把一个文件的绝对路径和后缀去除,只留下文件名的功能
* */
#include <stdio.h>
#include <stdlib.h>
#include <string.h> //找到最后的slash(/)
int last_mark (char *str, char mark)
{
int site = ;
int count = ;
while (site <= strlen(str))
{
if (str[site++] == mark)
{
count = site;
}
}
return count;
} //找到第一个dot(.)
int first_mark (char *str, char mark, int num)
{
int count = num;
while ()
{
if (str[count++] == mark)
{
break;
}
}
return count;
} /* 从文件全名中把文件名提取出来,有后缀 */
int substr_suffix (char *srcstr, char *decstr, int slash)
{
int i = ;
int size = strlen(srcstr);
for (i=; i<size; i++)
{
decstr[i] = srcstr[slash++];
}
} /* 从文件全名中把文件名提取出来,去除后缀 */
int substr (char *srcstr, char *decstr, int lastslash, int firstdot)
{
int i = ;
//printf("last=%d,first=%d\n", lastslash, firstdot);
//printf("size=%d\n", firstdot-lastslash);
int size = firstdot-lastslash-;
for (i=; i<size; i++)
{
//printf("...%c...\n",srcstr[lastslash]);
decstr[i] = srcstr[lastslash++];
}
} //测试
int main()
{
char *file = "/root/etc/init.d/myte123456789abcedefadfaefsa1234.c";
char filename[] = {};
char filename_nosuffix[] = {}; int lastnum = last_mark (file, '/');
int firstnum = first_mark (file, '.', lastnum); substr_suffix (file, filename, lastnum);
printf ("filename = %s\n", filename); substr (file, filename_nosuffix, lastnum, firstnum);
printf ("filename no suffix = %s\n", filename_nosuffix);
}
linux c实现的提取文件名的小程序的更多相关文章
- 开发一个微信小程序项目教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- 开发一个微信小程序实例教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- 开发一个微信小程序教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可. 2.注册成功后进入首页,在 小程序发布流程->小程序 ...
- 微信小程序开发入门与实践
基础知识---- MINA 框架 为方便微信小程序开发,微信为小程序提供了 MINA 框架,这套框架集成了大量的原生组件以及 API.通过这套框架,我们可以方便快捷的完成相关的小程序开发工作. MIN ...
- Linux shell 之 提取文件名和目录名的一些方法
很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等.例如,从路径/dir1/dir2/file.tx ...
- Linux shell 提取文件名和目录名的一些方法(转)
很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等.例如,从路径/dir1/dir2/file.tx ...
- Linux shell 提取文件名和目录名
${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串 1.提取文件名 [root@localhost log]# var=/dir1/dir2/file.txt [root@localh ...
- 小程序[邮箱提取器-EmailSplider]总结
1.背景情况 学东西做快的是付诸实践,写这个小程序的目的就是为了综合运用各个知识点,从而提升学习的效果. 2.涉及知识 A.Swing 的布局 B.Swing中,线程访问U ...
- 转载:微信小程序源码提取反编译
转载来源:www.51xuediannao.com/xiaochengxu/019c08cc.html 一.前言 微信小程序源码提取反编译,听起来很屌,其实还是简单的,基本是傻瓜式操作.要想拿到微信小 ...
随机推荐
- PHP操作:将数据库中的数据保存到Word、Excel中。
1.首先要把word.excel表放到文件的根目录下 2.定义了一个word类 <?php class word { function start() { ob_start(); ob_star ...
- 转义字符\r \n \t \b 截图
- 九度OJ 1041:Simple Sorting(简单排序) (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4502 解决:1680 题目描述: You are given an unsorted array of integer numbers. ...
- Method invoke 方法
这个问题要看明白源码才能解决
- Spring Aop切点
切点用于准确定位应该在什么地方应用切面的通知.通知和切点是切面的最基本的元素.在Spring AOP中要使用AspectJ的切点表达式来定义切点.下面我们列出Spring AOP所支持的AspectJ ...
- Java for LeetCode 138 Copy List with Random Pointer
A linked list is given such that each node contains an additional random pointer which could point t ...
- css三角形实现的几种方法的区别
演变: .triangle{ height: 30px; width: 30px; display: inline-block; border: 30px solid; border-color: # ...
- P4474 王者之剑
P4474 王者之剑 题目大意 n*m的带权网格,任意选择起点开始时刻为0秒.以下操作,每秒按顺序执行 在第i秒开始的时候,在方格(x,y)上,获得(x,y)的值 在偶数秒,周围四格的值清零 每秒可选 ...
- 高通MSM8255 GPS 调试分析&&Android系统之Broadcom GPS 移植【转】
本文转载自:http://blog.csdn.net/gabbzang/article/details/12063031 http://blog.csdn.NET/dwyane_zhang/artic ...
- poj 1146 ID Codes (字符串处理 生成排列组合 生成当前串的下一个字典序排列 【*模板】 )
ID Codes Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 6229 Accepted: 3737 Descript ...