c++实现解析文件路径

注意:本实现只能解析类似linux下的路径,即“/data/a.txt”,而不能解析“c:\a.txt” 或者“c:\\a.txt”,但是应该很容易扩展改写实现此功能。


FilepathParse.h

#include <string>
using std::string;void parseFilepath(string filepath, string &path, string &filename, string &ext)
{if (!filepath.empty()){int locpoint = filepath.find_last_of('.');int locfilename = filepath.find_last_of('/');ext = filepath.substr(locpoint );//获取文件后缀 filename = filepath.substr(locfilename + 1, locpoint - locfilename-1);path = filepath.substr(0, locfilename);}}

调用:

#include <iostream>
#include "FilepathParse.h"
using namespace std;int   main(int   argc, char*   argv[])
{string path; string filename; string ext;parseFilepath("c:/dd/a/e.txt", path, filename, ext);return   0;
}
亦可参考:

windows 上的 _splitpath 函数在 linux 平台下的简单实现

C/C++ 解析文件路径 获取文件名和扩展名




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gedit搭建c开发环境

在管理外部工具中&#xff0c;创建启动脚本 1 #!/bin/sh 2 DIR$GEDIT_CURRENT_DOCUMENT_DIR 3 NAME$GEDIT_CURRENT_DOCUMENT_NAME 4 /home/lxy/code/c/struct/run.sh ${DIR}/${NAME} 创建run.sh #!/bin/sh file$1 ext${file##*.}#C if [ $ext "c" ]; thenif [ -f $f…

Oracle数据库入门——常用的数据字典

一、oracle数据字典主要由以下几种视图构成&#xff1a;1.user视图以user_为前缀&#xff0c;用来记录用户对象的信息 2.all视图以all_为前缀&#xff0c;用来记录用户对象的信息及被授权访问的对象信息 3.dba视图以dba_为前缀&#xff0c;用来记录数据库实例的所有对象的信息 …

一个excel文档里复制黏贴另外表单跟着变动_利用Excel连接Power BI,实现PPT报告自动输出...

​文/HALI就职于汽车行业战略部门 专注汽车市场信息情报收集和分析因为工作需要&#xff0c;每月周期性的更新数据和撰写PPT 报告成为繁重的劳动。结果是很多时间花费在数据处理上&#xff0c;真正的分析工作&#xff0c;往往只能草草收场。不能坐以待毙&#xff0c;就要想想有…

出现23.97帧率的原因

http://raytao.lofter.com/post/3d177_185a386 关于那些“格&#xff08;Frame&#xff09;”不得不说的事 今天早上&#xff0c;鄙人在社交网络发了这一系列的问题&#xff1a;请解释以下名词之间的关系或差异。帧&#xff0c;格&#xff0c;帧率&#xff0c;时基&#xff0c;…

8-3建立蒙版

http://www.missyuan.com/thread-527018-1-1.html 在实际操作中&#xff0c;99.9%的蒙版都是通过选区建立的 所以选区要选好 点击图层调板下方的按钮直接建立蒙版(下左图红色箭头处)&#xff0c;效果等同于【图层_图层蒙版_显示选区】 图层中有了两个对象&#xff1a;一是图层&…

今天试了一下iscroll

感觉5和4差别还是有一点的&#xff0c;虽然不是很多&#xff0c;今天用了一下&#xff0c;感觉还是很不错。 今天看到有人提问说如果页面要引入多个iscroll怎么弄的问题&#xff0c;其实很简单&#xff0c;页面再多实例化一次就可以了。 如&#xff1a; myScroll new iScroll(…

使用ajax将数据显示在指定位置_AJAX学习主题之一

学习主题&#xff1a;AJAX删除用户功能实现根据视频中的讲解&#xff0c;完成以下内容简述删除功能的基本思路流程点击按钮获取当前元素中的用户uid&#xff0c;向服务器发起请求&#xff0c;将uid提交到服务器删除指定用户&#xff0c;浏览器获取浏览器响应结果。独立完成删除…

matlab 配置mex 识别vs2015

问题&#xff1a;先安装了matlab&#xff0c;后装了vs13和vs15,但是mex -setup时却不能识别vs15&#xff0c;采用了两种办法&#xff0c;最终得以识别。解决方案&#xff1a;先采用方法&#xff1a; http://blog.csdn.net/yc461515457/article/details/51635842 &#xff0c;但…

互联网企业安全高级指南3.6 需要自己发明安全机制吗

3.6 需要自己发明安全机制吗 1. 安全机制的含义 首先解释一下发明安全机制这句话的意思。安全机制包括&#xff1a;常见的对称和非对称加密算法&#xff0c;操作系统自带的RBAC基于角色的访问控制&#xff0c;自带的防火墙Netfilter&#xff0c;Android的基于appid隔离的机制&…

钩子方法

Class#inherited 类被继承时调用 Module#included 模块的生命周期中调用 Module#extend_object 模块扩展类时调用 Module#method_added Module#method_removed Module#method_undefined转载于:https://www.cnblogs.com/qinyan20/p/3656156.html

ember启动报错

ember[4858] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() > (null) (-21) events.js:85 throw er; // Unhandled ‘error’ event ^ Error: watch EMFILE at exports._errnoException (util.js:746:11) at FSEvent.FS…

js日期比较大小_node.js 内存泄漏的秘密

每日前端夜话第276篇翻译&#xff1a;疯狂的技术宅作者&#xff1a;Giovanny Gongora来源&#xff1a;nodesource正文共&#xff1a;3955 字预计阅读时间&#xff1a;10分钟一直以来&#xff0c;跟踪 Node.js 的内存泄漏是一个反复出现的话题&#xff0c;人们始终希望对其复杂性…

win7+vs2015/13+caffe+matlab+python(CPU only)配置

首先声明本教程可以适用于vs2015 和vs2013 .以vs2015为例。 安装必备软件 vs 2015 /vs2013 matlab 2016a(64bit)推荐使用Anaconda 2.7 或者Miniconda 2.7这两个Python发布版本cmake 3.8.0 以上caffe-window: https://github.com/BVLC/caffe/tree/windows 可选软件&#xff1…

Performance Co-Pilot

Install Performance Co-Pilot 提前安装依赖 [rootiZrj97j6t7ih9hgz1me35hZ ~]# cat install.sh yum install -y docker yum install -y git yum install -y yum-utils-1.1.31-40.el7.noarch yum install lex yum install flex yum install -y bison yum install -y perl-ExtUt…

字符串转换整形数,结构体数组排序

#include <stdio.h> #include<string.h> #include<conio.h> #include <stdlib.h> FILE *p; #define N 3 struct hacker {char name[11];char num[20];char xingbie[3]; }z[N];//输入模块 void shuru() {char *s"网名 QQ号码 性别信息…

如何发布打包并发布自己的Android应用(APP)

第一步&#xff0c;在Eclipse中选择需要打包的项目&#xff0c;然后右键--选择Export&#xff0c;会弹出一个打包的提示框&#xff0c;如下图所示。 按Next之后&#xff0c;会继续出现一个提示框&#xff0c;这里你可以选择自己需要打包的项目&#xff08;默认是刚才选中的&…

js变量提升_一道JS变量提升题

var a 0;if(true){a 1;function a(){};a 21;console.log(a);}console.log(a);// 21 1 当前上下文代码执行之前&#xff0c;会将带var/function的进行声明/定义。当遇到“{}”时&#xff0c;新版浏览器和老版浏览器的处理不一致。老版浏览器&#xff08;IE10以下&#xff09;…

Adaboost的几个人脸检测网站

【1】基础学习笔记之opencv(1)&#xff1a;opencv中facedetect例子浅析 http://www.cnblogs.com/tornadomeet/archive/2012/03/22/2411318.html【2】OpenCV学习笔记&#xff08;二十七&#xff09;——基于级联分类器的目标检测objdect http://blog.csdn.net/yang_xian521/arti…

Caffe训练过程:test_iter test_interval等概念

转载自http://blog.csdn.net/iamzhangzhuping/article/details/49993899 先上一张图&#xff0c;大家很熟悉的一张图。 首先说明一个概念&#xff1a;在caffe中的一次迭代iteration指的是一个batch&#xff0c;而不是一张图片。 下面主要说下2个概念&#xff1a; test_ite…