先给出函数
enum EDirect
{
eFIRST = 0,
eLAST
};
static string get_sub_str(string str, EDirect flag1, string from_sign, EDirect flag2, string to_sign)
{
int pos1, pos2;
if(eFIRST == flag1)
{
pos1 = str.find_first_of(from_sign);
}
else
{
pos1 = str.find_last_of(from_sign);
if(-1 == pos1) pos1 = str.length();
}
if(eFIRST == flag2)
{
pos2 = str.find_first_of(to_sign);
}
else
{
pos2 = str.find_last_of(to_sign);
if(-1 == pos2) pos2 = str.length();
}
string sub = str.substr(pos1+1,pos2-pos1-1);
return sub;
}
使用方法:
string name=get_sub_str(file, eLAST, "/", eFIRST, ".");