2016-11-16 2 views
0

Когда я попытался выполнитьMySQLDump С ShellExecute Ошибкой

mysqldump --host="ean13.info" --user="user" --password="mypass" info_upm > c:\\mysql.sql через ShellExecute в Visual C++ Я получаю

mysqldump ERROR: can not find table ">".

выполнения этой команды через командную строку ОК. Я понимаю, что что-то происходит с символом «>», но не может найти что.

ответ

2

ShellExecute предназначен для выполнения exe-файл (туздЫшпр в вашем случае), в то время как вы пытаетесь также использовать его для перенаправления STDOUT в файл. Вы не можете сделать это с помощью ShellExecute.

CreateProcess - лучшая альтернатива, возможно, использование труб для перенаправления или, возможно, ReadConsole.

См:

  1. Redirecting stdout output in cpp
  2. How do I redirect output to a file with CreateProcess?