记录一种操作字符串获取文件名字的操作方式,方便后期的使用。示例:
输入:"D:/code/Test/Test.txt"
输出:"Test.txt"
设计思路:
首先查找路径中最后一个”/“,然后再通过字符串截取的方式,获取文件名。
代码具体实现:
#include<string>
#include <ctype.h>
#define ISPATHPART(c) ((c)=='/'||(c)=='\\')
std::string GetName(const std::string& strPathFile)
{
if (!strPathFile.empty())
{
int number = 0, index = 0;
if (isalpha(strPathFile[0]) && strPathFile[1] == ':')
{
index = 1;
number = index + 1;
}
index++;
int nlen = strPathFile.length();
while (index<nlen)
{
if (ISPATHPART(strPathFile[index]))
{
number = index + 1;
}
index++;
}
return std::string(strPathFile.c_str()+ number, nlen-number);
}
return"";
}
int main()
{
std::string path = "D:/code/Test/Test.txt";
path = GetName(path);
return 0;
}
测试结果: