begin process at 2012 05 29 14:57:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Passage de paramètre pour un .exe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Passage de paramètre pour un .exe

mardi 10 juin 2003 à 09:07:16 | Passage de paramètre pour un .exe

pierrot33

Bonjour à tous,

Débutant en C++, j'ai dévellopper une petite application et j'aimerais maintenant l'apppeller en lui passant 3 variables de type char en paramètre. Est ce que c'est réalisable avec un .exe et si oui comment faire (je n'en ai aucune idée).

Merci pour votre aide.
Pierrot,
mardi 10 juin 2003 à 09:34:46 | Re : Passage de paramètre pour un .exe

theneoiceman


si tu veux passer tes variables en argument pour ton executable il suffit de remplacer ta foncion "main" de cette façon :
int main(int argc, char **argv)
{
...
if (argc != 4 ) // cas ou tu n'as pas trois paramètres a ta fonction
{
exit(1);
}

// ici ton programme
}

argc représente le nombre de paramètres passés avec ton programme (attention le nom de l'executable est compté comme un paramètre)

argv est un tableau de (char*) contenant les valeurs des différents paramètres.
Par exemple dans le cas ou argc==2 :
argv[0] = nom de l'executable
argv[1] = premier paramètre passé a coté de cet executable

Avec ca tu devrais t'en sortir sans probleme.

Une dernière remarque :
si un de tes arguments est un mot composé genre "truc machin", si tu veux qu'il soit considéré comme étant un seul argument met ca entre guillemets...
Voila Bonne prog
mardi 10 juin 2003 à 10:44:26 | Re : Passage de paramètre pour un .exe

pierrot33

Je te remercie beaucoup pour ses infos, en effet je devrais m'en sortir, mais juste une dernière question. Je programme sous visual C++ , ors sous Visual C++ je n'est pas de fonction "main" comment faire alors?
Merci de ton aide.



-------------------------------
Réponse au message :
-------------------------------

>
> si tu veux passer tes variables en argument pour ton executable il suffit de remplacer ta foncion "main" de cette façon :
> int main(int argc, char **argv)
> {
> ...
> if (argc != 4 ) // cas ou tu n'as pas trois paramètres a ta fonction
> {
> exit(1);
> }
>
> // ici ton programme
> }
>
> argc représente le nombre de paramètres passés avec ton programme (attention le nom de l'executable est compté comme un paramètre)
>
> argv est un tableau de (char*) contenant les valeurs des différents paramètres.
> Par exemple dans le cas ou argc==2 :
> argv[0] = nom de l'executable
> argv[1] = premier paramètre passé a coté de cet executable
>
> Avec ca tu devrais t'en sortir sans probleme.
>
> Une dernière remarque :
> si un de tes arguments est un mot composé genre "truc machin", si tu veux qu'il soit considéré comme étant un seul argument met ca entre guillemets...
> Voila Bonne prog
>
mardi 10 juin 2003 à 12:21:23 | Re : Passage de paramètre pour un .exe

theneoiceman





-------------------------------
Réponse au message :
-------------------------------

> Je te remercie beaucoup pour ses infos, en effet je devrais m'en sortir, mais juste une dernière question. Je programme sous visual C++ , ors sous Visual C++ je n'est pas de fonction "main" comment faire alors?
> Merci de ton aide.
>

Pour récupérer les arguments que tu tapes en programmation Windows c'est un peu plus compliqué...

La fonction que tu dois utiliser est bien WinMain.
Utilise la fonction suivante telle qu'elle est écrite :
int argc=1;
LPSTR *argv;
LPSTR lignedecommande=GetCommandLine();
argv = CommandLineToArgvW(lignedecommande,&argc);

Avecc ca tu devrais récupérer les données de ta ligne de commande.
Ensuite tu n'as plsu qu'à refaire :
if (argc != 4) {...}
...
etc.

Il y peut être des cast à faire pour les types de variable mais faut essayer cette méthode. Moi meme je n'ai pas encore utilisé cette méthode mais ca vaut le coup d'essayer.
Voila.
@+


mardi 10 juin 2003 à 13:22:47 | Re : Passage de paramètre pour un .exe

pierrot33

Merci bien, j'essaye.
@+,
Pierrot.




-------------------------------
Réponse au message :
-------------------------------

>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Je te remercie beaucoup pour ses infos, en effet je devrais m'en sortir, mais juste une dernière question. Je programme sous visual C++ , ors sous Visual C++ je n'est pas de fonction "main" comment faire alors?
> > Merci de ton aide.
> >
>
> Pour récupérer les arguments que tu tapes en programmation Windows c'est un peu plus compliqué...
>
> La fonction que tu dois utiliser est bien WinMain.
> Utilise la fonction suivante telle qu'elle est écrite :
> int argc=1;
> LPSTR *argv;
> LPSTR lignedecommande=GetCommandLine();
> argv = CommandLineToArgvW(lignedecommande,&argc);
>
> Avecc ca tu devrais récupérer les données de ta ligne de commande.
> Ensuite tu n'as plsu qu'à refaire :
> if (argc != 4) {...}
> ...
> etc.
>
> Il y peut être des cast à faire pour les types de variable mais faut essayer cette méthode. Moi meme je n'ai pas encore utilisé cette méthode mais ca vaut le coup d'essayer.
> Voila.
> @+
>
>
>


Cette discussion est classée dans : exe, passage, paramètre


Répondre à ce message

Sujets en rapport avec ce message

Visual C++ 7 : Passage paramètre à une application MFC [ par lcamps ] Bonjour,J'aimerai exécuter une application MFC en passant des paramètres du genre :AppToto.exe Param1.lst Param2.lstComment faire pour récupérer ces p Passage d'un pointeur d'un exe => Dll [ par Oeil_de_taupe ] Hello all, Je suis en train de faire un webmail (qui permet de voir ses mails depuis une page web). Une Dll permet de récupérer les messages pour les Passage de tableau en paramètre dans une dll [ par makefcna ] Bonjour,Je souhaite passer un tableau de int comme paramètre d'une procedure dans une dll :void mafonction(int* tableau[]){tableau[1]=5tableau[2]=10}J Passage d'un format int à t_time [ par sta_schmitt ] Salut les programmeurs,je suis tombé sur un os récemment. Voilà, je reçois en paramètre le nombre de secondes (format int) et je voudrais le mettre so passage de paramètre à l'ouverture [ par SkaPunkMan ] Bonjour,je réalise en ce moment un programme en C et j'aimerai lui passer des paramètres à l'ouverture pour la location d'un fichier utilisé dans le p Passage de parametres [ par LaKiks51 ] Bonjour, je cherche à savoir comment on récupère un paramètre un poil particulier... Mon appli est un scan de port, j'aimerais que l'utilisateur chois Passage par paramètre dans glutDisplayFunc [ par nisaloncaje ] Bonjour, j'ai, dans ma fonction main() un objet nommé ap de type 'obj1' (donc déclaré de la manière suivante : obj1 ap;)dans ma fonction display, j'ut En 1 exe: rassembler 2 fichier [ par maladedede ] Je sais comment rassemblé 2 fichiers en 1 fichier (ex:  Fichier1.exe + Fichier2.bmp =FichierFinal.dat)Mais maintenant j'aimerais savoir comment on peu Message d'eurrer [ par Warter ] Comment fais t'on pour créé un message d'erreur en .exe, du style.Si suite.exe ne répond pas alors lancer autresuite.exe et mettre un message d'erreur


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,103 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales