Я пытаюсь выполнить команду dos из моей программы на C ++, однако, как только я добавляю кавычки в выходной путь файла (перенаправления), команда больше не выполняется и мгновенно возвращается. Ниже приведен пример пути без пробелов, но, поскольку пути могут иметь пробелы и, следовательно, они должны быть заключены в кавычки для оболочки, чтобы правильно ее понять, мне нужно решить эту дилемму - и я пытаюсь сначала разобраться с простейшим случаем.
т.е.
следующие РАБОТЫ :
sprintf(exec_cmd,"\"C:/MySQL Server 5.5/bin/mysqldump.exe\" -u%s -p%s %s > C:/backup.bak",user,password,db_name);
system(exec_cmd);
Следующее НЕ работает (обратите внимание на кавычки вокруг вывода):
sprintf(exec_cmd,"\"C:/MySQL Server 5.5/bin/mysqldump.exe\" -u%s -p%s %s > \"C:/backup.bak\"",user,password,db_name);
system(exec_cmd);
Я предполагаю, что это где-то задыхается. Я попробовал тот же exec_cmd в popen, но безрезультатно.
Любая помощь / совет с благодарностью.