System () нет подходящего преобразования C ++
У меня есть 2 списка с именами файлов.
std::list<std::string> userfontlist;
std::list<std::string>::iterator it;
std::list<std::string> CAATfontlist;
std::list<std::string>::iterator it2;
std::list<std::string> doesnthavelist;
и я хочу сравнить 2 списка и удалить значение, которое ему соответствует. Кажется, все в порядке, пока я не добавлю del / F / Q / A в y.c_string ().
for (it = userfontlist.begin(); it !=userfontlist.end(); ++it){
for(it2 = CAATfontlist.begin();it2 !=CAATfontlist.end();++it2){
if(*it==*it2){
string y = *it;
string k = y.c_str();
string a = "del /F /Q /A " + k;
system(a);
}
}
}
system (a) говорит, что у меня "не существует подходящей функции преобразования из строки std в const char *". Если я помещу все это как 1 строку, это будет работать, но не тогда, когда я объединяю строку и y.c_str () Мне не повезло, когда я пытался преобразовать std :: string в const * char, даже не уверен, поможет ли это.