#include <iostream>
void callbackfn(std::string path, std::string filename)
{
std::cout << "delete " << path << "\\" << filename << "\n";
}
void BatchDelete(std::string path, std::string file, void (*fn)(std::string, std::string))
{
// pretend these are songs we found in playlist.mpl
fn(path, "Alanis\\*.*");
fn(path, "Mix Tape\\ReallySadSong.mp3");
}
int main()
{
BatchDelete("C:\\Music\\", "playlist.mpl", callbackfn);
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KCiAgICB2b2lkIGNhbGxiYWNrZm4oc3RkOjpzdHJpbmcgcGF0aCwgc3RkOjpzdHJpbmcgZmlsZW5hbWUpCiAgICB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJkZWxldGUgIiA8PCBwYXRoIDw8ICJcXCIgPDwgZmlsZW5hbWUgPDwgIlxuIjsKICAgIH0KCiAgICB2b2lkIEJhdGNoRGVsZXRlKHN0ZDo6c3RyaW5nIHBhdGgsIHN0ZDo6c3RyaW5nIGZpbGUsIHZvaWQgKCpmbikoc3RkOjpzdHJpbmcsIHN0ZDo6c3RyaW5nKSkKICAgIHsKICAgICAgICAvLyBwcmV0ZW5kIHRoZXNlIGFyZSBzb25ncyB3ZSBmb3VuZCBpbiBwbGF5bGlzdC5tcGwKICAgICAgICBmbihwYXRoLCAiQWxhbmlzXFwqLioiKTsKICAgICAgICBmbihwYXRoLCAiTWl4IFRhcGVcXFJlYWxseVNhZFNvbmcubXAzIik7CiAgICB9CgogICAgaW50IG1haW4oKQogICAgewogICAgICAgIEJhdGNoRGVsZXRlKCJDOlxcTXVzaWNcXCIsICJwbGF5bGlzdC5tcGwiLCBjYWxsYmFja2ZuKTsKICAgIH0K