bool sortFun(const std::string m1, const std::string m2)
{
return atoi(m1.substr(m1.find("Face")+4).substr(0,m1.substr(m1.find("Face")+4).find("_")).c_str()) < atoi(m2.substr(m2.find("Face")+4).substr(0,m2.substr(m2.find("Face")+4).find("_")).c_str());
}
int main(int argc, char *argv[])
{
std::string m = "Cams_Videos/Face33232_Camera1_9_54_52.mp4";
std::cout<<m.substr(m.find("Face")+4).substr(0,m.substr(m.find("Face")+4).find("_"))<<std::endl;
std::vector<std::string> po = {"Cams_Videos/Face1_Camera1_9_54_52.mp4","Cams_Videos/Face10_Camera1_9_30_52.mp4","Cams_Videos/Face3_Camera1_9_54_52.mp4"};
sort(po.begin(), po.end(), sortFun);
cout << endl << "排序后: " ;
for (auto elem : po)
cout << elem << " "<<endl;
cout << endl;
}
C/C++ 自定义sort方法
于 2022-05-24 13:31:51 首次发布