System () sem conversão adequada em C ++
Eu tenho 2 listas com nomes de arquivos.
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;
e quero comparar as 2 listas e excluir o valor correspondente. tudo parece estar bem até eu adicionar o "del / F / Q / A" ao 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) Diz que "não existe nenhuma função de conversão adequada de string std para const char *". Se eu colocar a coisa toda como 1 string, ela funcionará, mas não quando concatenar a string e o y.c_str (). Não tive sorte em tentar converter o std :: string em const * char, nem tenho certeza se isso ajuda.