IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

System & Spaces


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Par défaut System & Spaces
    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 :

    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);
    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
    "C:\MySQL\MySQL Server 5.5\bin\mysqldump.exe" -u root -proot testdb > "C\Backup MySQL\testdb.sql"
    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 ! :/

    Merci d'avance!

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Par défaut
    Bon désolé pour le post inutile, il faut en fait entourer l'ensemble de la commande par des doubles quotes, comprends pas la logique mais au moins sa fonctionne...

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Oui parce que system attend une commande représentée par une chaîne de caractères.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/04/2010, 16h50
  2. ORA-01536: space quota exceeded for tablespace 'SYSTEM'
    Par stegaud dans le forum Administration
    Réponses: 1
    Dernier message: 19/04/2007, 17h33
  3. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38
  4. [TP7]systeme d'exploitation
    Par numeror dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 15/08/2002, 08h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo