c++实现解析文件路径

来源:互联网 发布:淘宝买鹿王羊绒衫 编辑:程序博客网 时间:2024/06/02 03:44

注意:本实现只能解析类似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++ 解析文件路径 获取文件名和扩展名




0 0
原创粉丝点击