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.pswp.cn/news/258763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258763.shtml
英文地址,請注明出處:http://en.pswp.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…