我有一个函数应该在字符串中找到目录的最后一位。例如:“C:\Lolcats\pie\ambulance\”应该返回“ambulance”。然而,它返回了一些我从未见过的奇怪字符,比如男性箭头符号和其他一些奇怪的东西。
string App::getlastName(string cakes){
//finds the name of the last folder in a directory
string name;
string temp;//popback all of temp into name to invert it
cakes.pop_back();
char i = cakes[cakes.length()-1];
while (i != '\\'){
temp.push_back(cakes[i]);
cakes.pop_back();
i = cakes[cakes.length()-1];
} //-1?
for (int j = 0; j<temp.length(); ++j){
name.push_back(temp.back());
temp.pop_back();
}
return name;
}
这可能是我写过的最糟糕的函数之一,但我想不出还有什么方法可以解决这个问题:(有人可以帮我吗?:D
请注意,该函数不需要查找文件的名称,它只是文件夹。