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

C++ Discussion :

Exécution d'une commande système


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Par défaut Exécution d'une commande système
    Bonjour,
    Je suis débutant en c++.
    J'essaie d'exécuter une commande système en c++ mais je reçois un message "chemin spécifié introuvable".
    mon code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <stdlib.h>
    const char cmd[] = "cd C:\\Program Files(x86)\\ServerSQL\\Firebird_2_5\\  \r\n gbak.exe -USER DBA -PASSWORD 1234 -BACKUP C:\\Users\\Public\\Documents\\Fichier.FDB C:\\essai\\sr.arch \r\n pause";
    int main(int argc, char* argv[])
    {
    	system(cmd);
    }
    Pourriez-vous m'aider svp?

    Merci!

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par défaut
    Salut

    Je ne suis pas un expert concernant l'utilisation de system mais j'aurais plutôt fait un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdlib.h>
    #include <string>
    const std::string launchGbak = "C:\\Program Files(x86)\\ServerSQL\\Firebird_2_5\\gbak.exe -USER DBA -PASSWORD 1234 -BACKUP C:\\Users\\Public\\Documents\\Fichier.FDB C:\\essai\\sr.arch";
    const std::string pause = "pause";
    int main(int argc, char* argv[])
    {
    	system(launchGbak.c_str());
    	system(pause.c_str());
    }
    J'ai pas testé le code mais ça doit être à peu près compilable.

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Par défaut
    Bonjour,

    Je vous remercie pour la réponse.

    J'ai compilé le code et il m'a retourné comme quoi la commande gbak est non reconnu comme étant une commande.

    Quand j'ai modifié le code comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const std::string launchGbak = "cd C:\\Program Files(x86)\\ServerSQL\\Firebird_2_5\\ \r\n gbak.exe  -USER DBA -PASSWORD 1234 -BACKUP C:\\Users\\Public\\Documents\\Fichier.FDB C:\\essai\\sr.arch";
    J'ai un retour comme quoi le chemin d'accès spécifié est introuvable.

    Pourriez-vous m'aider svp?

    Merci!

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 294
    Par défaut
    Bonjour ton chemin d'acces à gbak.exe tu dois
    1) le mettre entre " car il contient des espaces et donc entre \"
    2)mettre des caracteres d'echappement \ aussi devant les \
    cela donne "\"C:\\Program Files(x86)\\ServerSQL\\Firebird_2_5\\gbak.exe\" pour l'exemple de darkman
    et pour le tien mais je ne sais pas si le tien avec cd marche ou pas cela donne :"cd \"C:\\Program Files(x86)\\ServerSQL\\Firebird_2_5\\\"
    j'ai essayé quelquechose de similaire à darkman (avec un autre programme) et cela fonctionne bien

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Par défaut
    Moi je penses que le problème provient de l'espace qui est dans programme File X86 mais je ne sais pas le corriger.

  6. #6
    Membre chevronné

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 294
    Par défaut
    comme je t'ai dit de faire, en mettant le chemin qui contient des espaces entre \"

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

Discussions similaires

  1. [Système] erreur d'exécution d'une commande
    Par kenny49 dans le forum Langage
    Réponses: 1
    Dernier message: 13/04/2007, 15h02
  2. Exécuter une commande système avec perl
    Par Olivier Regnier dans le forum Langage
    Réponses: 12
    Dernier message: 08/04/2007, 16h41
  3. Réponses: 9
    Dernier message: 21/06/2006, 16h41
  4. exécuter une commande système à partir de sqlplus?
    Par c_moi_c_moi dans le forum Oracle
    Réponses: 24
    Dernier message: 08/11/2005, 15h11
  5. [Système] Pb exécution d'une commande externe
    Par licorne dans le forum Langage
    Réponses: 9
    Dernier message: 19/10/2005, 16h34

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