linux下的函数dirname()和basename()使用
#include <libgen.h> char *dirname(char *path); char *basename(char *path);
path dirname basename "/usr/lib" "/usr" "lib" "/usr/" "/" "usr" "usr" "." "usr" "/" "/" "/" "." "." "." ".." "." ".."
#include <stdio.h> #include <stdlib.h> #include <libgen.h> #include <string.h>int main ( int argc, char *argv[] ) { char *str = "/root/workdir/haha.txt"; char buf[1024] = {0};strncpy (buf, str, strlen(str));//dirname 会修改buf中的值,所以需要一个缓冲区 //直接调用dirname(str), 会使程序崩溃 printf ("dirstr is:%s\n", dirname(buf)); printf ("dir buf is:%s\n", buf);//basename 不会修改buf中的值,以下两次调用都是可以的 strncpy (buf, str, strlen(str)); //1次 printf ("test1 basename is:%s\n", basename(buf)); printf ("name buf is:%s\n", buf);//2次 printf ("test2 basename is:%s\n", basename(str));return 0; }
补充:
#include <stdio.h> #include <string.h>int main ( int argc, char *argv[] ) {char *str = "/hah/test/test.hah.dd.json";char *suffix = strrchr (str, '.');printf ("suffix is:%s\n", suffix);return 0; }
转载于:https://www.cnblogs.com/etangyushan/p/6560252.html
linux下的函数dirname()和basename()使用相关推荐
- linux下syscall函数,SYS_gettid,SYS_tgkill
出处:http://blog.chinaunix.net/uid-28458801-id-4630215.html linux下syscall函数,SYS_gettid,SYS_tgkill 2014 ...
- linux下system函数的深入理解
这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为 ...
- Linux下curses函数库的详细介绍
Linux下curses函数库的详细介绍 curses库介绍 安装 curses库函数介绍 初始化和重置函数 管理屏幕的函数 输出到屏幕 从屏幕读取 清除屏幕 移动光标 字符属性 管理键盘的函数 键盘 ...
- linux下readlink函数详解
linux下readlink函数详解 相关函数: stat, lstat, symlink 表头文件: #include <unistd.h> 定义函数:int readlink(con ...
- linux 纪元时间转换,[转]Linux下时间函数time gettimeofday
Linux下时间函数time & gettimeofday UNIX及Linux的时间系统是由「新纪元时间」Epoch开始计算起,单位为秒.Epoch是指定为1970年1月1日凌晨零点零分零秒 ...
- Linux下connect函数 阻塞 与 非阻塞 问题
一.概述 linux系统下,connect函数是阻塞的,阻塞时间的长度与系统相关.而如果把套接字设置成非阻塞,调用connect函数时会报错Operation now in progress,且err ...
- Linux下select函数实现的聊天服务器
转载: http://blog.csdn.net/microtong/article/details/4989902 Linux下select函数实现的聊天服务器 佟强 http://blog.cs ...
- LINUX下poll函数用法
LINUX下poll函数用法 文章目录 LINUX下poll函数用法 一.函数介绍 二.使用 1. 一.函数介绍 int poll(struct pollfd *fds, nfds_t nfds, i ...
- linux 函数返回string,linux 下c函数strcmp的返回值疑问?
linux 下c函数strcmp的返回值疑问? strcmp函数解释: NAME strcmp, strncmp - compare two strings SYNOPSIS #include int ...
- Linux下time函数
Linux下time函数都在time.h头文件中. 1.头文件 和时间有关的头文件有以下几个: time.h sys/time.h sys/times.h sys/timeb.h sys/timex. ...
最新文章
- 刚弄好的中台!又要开始拆了?难道是为了凑工作量?
- 数据中心告别柴发还需要多久?
- 在java中构建高效的结果缓存
- 大爷去取钱,银行把取款办成存款,大爷拒绝还钱,大家怎么看?
- t分布f分布与样本均值抽样分布_分布模拟1——MCMC抽样方法
- mysql 优化命令_MySQL优化Explain命令简介(一)
- NGINX 502 Bad Gateway 用upstream解决方法
- python---(10) python模块的使用
- 在vue项目中导入element-ui
- 开机LOGO与动画修改
- 网易云会员歌曲下载记录(.ncm-.mp3)
- winserve2016 万能驱动网卡_windows server 2016 安装有线网卡驱动
- 25匹马,5个跑道,不用外界工具怎样选出最快的5匹,要次数最短
- flv转mp4(ffmpeg)
- 【深度学习-吴恩达】L1-3 浅层神经网络 作业
- 由Tomcat 8005端口想到的...
- 苹果MACOS电脑MAC地址修改的方法
- 〖Python零基础入门篇㉟〗- 私有函数、私有变量及封装
- CVPR2017 | G-RMI_Google大佬构建的姿态估计baseline
- (转载)毕博管理咨询公司全球高级副总裁黄辉演讲实录
热门文章
- 使用Ubuntu的Crontab定时任务需要注意的地方
- 本地开发phpmyadmin去登陆验证
- c traps and pitfalls reading notes(2)
- Java类加载信息的顺序:包括静态代码快、静态类变量、非静态代码快、构造方法、普通方法...
- 面试官:@Transactional 注解是如何实现的?面试必问!
- Linus 怒批 GitHub:制造了毫无用处的垃圾合并信息!
- 千万级用户-亿级请求的平台架构演变
- 这20个常规Python语法你都搞明白了吗?
- 宣布下,一个小的里程碑!
- c语言检测数独是否正确,会数独的大佬请进。这是个判断九宫格数独是否正确的程序。...