Salut,
J'ai un souci avec la commande System, je lui passe en paramètre un répertoire (pour lancer un exécutable) avec des espaces, j'entoure bien le répertoire par des quotes et leur caractère d'échapement (\"), mais sa ne marche quand même pas.
J'ai un message d'erreur comme quoi il ne trouve pas le répertoire (car le chemin est coupé au premier espace).
Un petit bout de mon code pour vous aider :
Il y a quelques variables, mais avant d'aller chercher plus loin, voici le résultat de mon PRINTF :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Int32 execute_length = strlen(repertory) + strlen(login) + strlen(password) + strlen(database) + length_backup_dest + 33; char* execute_string = (char*) malloc(execute_length); sprintf_s(execute_string, execute_length, "\"%smysqldump.exe\" -u %s -p%s %s > \"%s\"", repertory, login, password, database, backup_dest); printf("%s\n",execute_string); system(execute_string);
Si je le copie/colle, sa fonctionne très bien, donc je ne comprends vraiment pas pourquoi en passant par mon appli sa ne fonctionne pas ! :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part "C:\MySQL\MySQL Server 5.5\bin\mysqldump.exe" -u root -proot testdb > "C\Backup MySQL\testdb.sql"
Merci d'avance!
Partager