文字列内のディレクトリの最後のビットを見つけることになっている関数があります。例:「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;
}
これはおそらく私が今まで書いた中で最悪の関数の1つですが、他にどのように終わりを解決するかを考えることはできません:(誰かが私を助けてくれますか?:D
関数はファイルの名前を見つける必要はなく、単にフォルダーになることに注意してください。