1.先说明下system调用mysql备份函数时的情况
成功===
"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > D://mnt/usb/sql-2017081617323.sql
失败===
"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > "D://mnt/usb/sql-2017081617323.sql"
失败===
"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > D:/Program Files/SoftPos/fastfd_localdata/sql_backup_dir/xxx.sql
失败===
"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > D:/Program Files/SoftPos/fastfd_localdata/sql_backup_dir/xxx.sql
后来
QProcess process;
process.setStandardOutputFile("D:/Program Files/SoftPos/fastfd_localdata/sql_backup_dir/xxx.sql");
process.start("E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump.exe -uroot hddpos");
当即需要输入文件,有需要输出文件是,且路径都有空格时
QProcess process;
//输出文件
process.setStandardOutputFile("C:/Program Files (x86)/xxxx/db_repair_tmp/temp.sql");
//启动程序
process.setProgram("C:/Program Files (x86)/xxxx/sqlite3.exe");
//输入文件,和参数
process.setArguments(QStringList() << "C:/Program Files (x86)/xxxx/db_repair_tmp/yyyy.db" << ".dump");
process.start();