Я создаю реплику консоли Windows и изучаю системные вызовы. Ниже приведен фрагмент кода из моего текущего проекта. У меня возникли проблемы с кодом для удаления каталога. Если бы кто-нибудь мог взглянуть и указать мне правильное направление, это было бы очень признательно. Они секция, дающая мне проблему, прокомментирована с <———Прямо здесь
void wsh::rmdir()
{
int c;
bool subdir = false;
bool quiet = false;
switches sw(args, "sq");
while ((c = sw.getswitch()) != clparser::EOL)
switch(c)
{
case 's' :
subdir = true;
break;
case 'q' :
quiet = true;
break;
case switches::ERROR_S :
sw.s_error();
cerr << "USAGE: rmdir [ /s ] [ /q ] dir\n";
return;
}
if (args.size() != 2)
{
cerr << "USAGE: rmdir [ /s ] [ /q ] dir\n";
return;
}int answer;
if (subdir)
{
if (!quiet)
while ((answer = yesno(args[1])) == UNDECIDED)
if (answer == NO)
return;
rmdir(args[1]); // call to function below to remove subdirectories
}
if (/* remove directory */) //<-----------RIGHT HERE
perror("Unable to remove directory"); // system call to remove this directory
}
Задача ещё не решена.
Других решений пока нет …