int getFileName(const string &pathName, string &name)
{
char tmpName[128] = {0};//保存临时的文件名
int n = 0;//记录tmpName中的位置
//先获得文件的完整名字,包括后缀
for(unsigned int i = 0; i < pathName.size(); i++)
{
if('/' == pathName.c_str()[i])//遇到分隔符
{
n = 0;//还原
continue;
}
tmpName[n++] = pathName.c_str()[i];//复制字符
}
tmpName[n] = '\0';//加入结尾
if(strlen(tmpName) == 0)//坑爹阿!!竟然没找到
return -1;
//再截去后缀
for(int i = 0; i < n; i++)
{
if('.' == tmpName[i])//找到拉
{
tmpName[i] = '\0';//加入结尾就行了
break;
}
}
if(strlen(tmpName) == 0)//又坑爹拉!!文件名竟然以‘.’为开头
return -1;
name = tmpName;//赋值
return 0;
}
这么一简单的功能竟然写得这样繁锁,真是个人才