我在用命令行中可以选择的代码在VC中用Winexec执行的时候就执行不了,出现mysqldump:counlden't find:">",
程序如下:
WinExec("d:\\mysqldump -uroot -p123456 --hex-blob camysqldb >d:\\camysqldb.sql");
d:\\mysqldump -uroot -p123456 --hex-blob camysqldb >d:\\camysqldb.sql,这句在命令行中能正确执行,数据库能正确备份,在程序中调用就不成功 了,怎么解决呢,请大家帮忙

解决方案 »

  1.   

    改成
    d:\\mysqldump -uroot -p123456 --hex-blob camysqldb \>d:\\camysqldb.sql
    试试
      

  2.   

    我修改成
    d:\\mysqldump -uroot -p123456 --hex-blob camysqldb \>d:\\camysqldb.sql
    还是不行,也是同样的错误
      

  3.   

    用 system("d:\\mysqldump -uroot -p123456 --hex-blob camysqldb >d:\\camysqldb.sql");你这个是重置了输出流, WinExec 干不了这事
      

  4.   

    或者是
    cmd -c d:\\mysqldump -uroot -p123456 --hex-blob camysqldb >d:\\camysqldb.sql
      

  5.   

    看MSDN吧
    WinExec(.,SW_HIDE)
    ShellExecute(...,SW_HIDE)
    ...
      

  6.   

    有一个问题,我执行
    WinExec("cmd.exe /c d:\\mysqldump -uroot -p123456 camysqldb >d:\\camysqldb.sql",SW_HIDE);执行成功;
    我执行
    WinExec("cmd.exe /c \"d:\\Program Files\\mysqldump\" -uroot -p123456 camysqldb>d:\\camysqldb.sql",SW_HIDE);
    执行却不成功呢?
    我知道是空格的问题,可是怎么修改呢?请大帮忙
      

  7.   

    试试:
    WinExec("cmd.exe /c \"d:\\mysqldump -uroot -p123456 camysqldb >d:\\camysqldb.sql\"",SW_HIDE);
      

  8.   


    下面那句应该是:
    WinExec("cmd.exe /c \"d:\\Program Files\\mysqldump -uroot -p123456 camysqldb>d:\\camysqldb.sql\"",SW_HIDE);