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 :

Utilisation des arguments pour ex�cuter un programme Windows


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 Utilisation des arguments pour ex�cuter un programme Windows
    Bonjour,

    Je suis d�butant.

    J'ai programm� un exe qui permet d�extraire une base de donn�es. mes arguments sont le r�pertoire du fichier source et destinataire.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <string>
    #include <stdio.h>
    using namespace std;
    int main(int argc, char *argv[])
    {
    	/*if (argc < 2) { // We expect 3 arguments: the program name, the source path and the destination path
    		std::cerr << "Usage: " << argv[0] << "SOURCE DESTINATION" << std::endl;
    		return 1;
    	}*/
     
    	std::string launchGbak = "\"C:\\Program Files (x86)\\ServerSQL\\Firebird_2_5\\bin\\gbak.exe\" -USER DBA -PASSWORD 1234 -BACKUP "+atoi(argv[1])+ atoi(argv[2]);
    	std::string pause = "exit";
    	for (int i = 1; i < argc; i++)
    		cout << atoi(argv[i]) << endl;
     
    	system(launchGbak.c_str());
    	system(pause.c_str());
    	system("pause");
    	return 0;
     
    }
    Je mets mes arguments au hasard dans le raccourci mais je r�cup�re 0 0 (affichage d'argument).

    Pouvez-vous m'aider pour ex�cuter mon programme avec des arguments.

    Merci!

    Bien cordialement,

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    copie d'�cran de votre raccourci, SVP.

  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
    dans la cible, je mets:

    "C:\Users\Public\Documents\Visual Studio 2015\Projects\Project2\Release\Project2.exe" -C:\Users\Public\Documents\S7536.FDB -C:\essai\s.arch

    Mais je r�cup�re toujours 0 0 comme arguments.

    Pouvez vous me dire si le probl�me provient de mon raccourci ou de mon programme.

    Comment r�soudre ce probl�me.

    Merci infiniment!

  4. #4
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    c'est normal, tu appeles cout << atoi(argv(i)) c'est � dire cout << atoi("-C:\Users\Public\Documents\S7536.FDB").
    or atoi retourne 0 si la chaine n'est pas un nombre, ce qui est bien le cas.
    Affiche directement cout << argv(i).

    Par ailleurs, il me semble que c'est pr�cis�ment a cause de ce 0 en cas d'erreur que cette fonction (issue du C) est d�conseill�e.
    En bonus, en C++ l'ent�te <stdio.h> est obsol�te, au profit de <cstdio>. La diff�rence est que le contenu est plac� dans std::

  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
    C'est r�solu!

    Il faudra stocker les arguments dans une variable sans utiliser "atoi"!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Utiliser des *.ODS pour ex�cuter des calculs en PHP.
    Par Gian B. dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 3
    Dernier message: 02/05/2014, 10h44
  2. utilisation api shell pour lancer un programme en passant des param�tres
    Par criche dans le forum API standards et tierces
    R�ponses: 1
    Dernier message: 19/05/2012, 09h37
  3. Passer des arguments pour appli windows (execution console)
    Par death_style dans le forum Visual C++
    R�ponses: 1
    Dernier message: 15/02/2010, 13h19
  4. R�ponses: 5
    Dernier message: 29/11/2005, 17h35

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