Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 82 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Passage d'arguments à un appel système en C

 
n°7241
Charlux
Profil : Jeune recrue
Posté le 30-03-2004 à 10:40:20  profilanswer
 

Bonjour,
 
   J'aurai souhaiter savoir comment faire pour passer plusieurs arguments(variables) à un appel système en C (fonction system()). Il me semble que le compilateur ne veut qu'une seule chaîne de caractère en argument (nom du programme).  
   L'autre problème est qu'il ne reconnaît pas les arguments comme des variables mais comme des chaînes de caractères.
   Voici l'exemple
 

n°7242
Charlux
Profil : Jeune recrue
Posté le 30-03-2004 à 10:43:58  profilanswer
 

char * chaine1 = "bonjour";
char* chaine2 = "bonsoir";
argument = "nom_executable chaine1 chaine2";
system(argument);
 
Si on récupère les variables passées en arguments dans l'autre programme, alors on ne récupère pas bonjour et bonsoir mais chaine1 et chaine2.
 
Merci d'avance

n°7243
Ryo-Ohki
namae nanka
Profil : Légende vivante
Posté le 30-03-2004 à 13:49:27  profilanswer
 

Ben là c'est sûr que dans "argument" avec ta syntaxe et les quotes (" ), tu passes directement la chaine de caractère "nom_executable chaine1 chaine2" et en aucun cas le contenu de tes variables. Il faudrait que tu fasses auparavant une concaténation (de mémoire avec la fonction strcat).


Message édité par Ryo-Ohki le 30-03-2004 à 14:24:04

---------------
Hollow Cabbit of Caerbannog | Chacalapinours Légendaire | Grand Ermite en Chef  :o
In nomine Felis, et Insania, et Malikis Sancti Amen | Mon Blog Photo
n°7244
pote
Profil : Membre
Posté le 30-03-2004 à 13:53:13  profilanswer
 

Je ne suis pas un expers et je me trompe surement, mais d'aprés ce que j'en ai compris en amphi, il doit falloir utiliser les pointeurs. Je ne peux pas t'en dire réellement plus.
Par contre, je ne comprend pas pourquoi tu ne peux saisir qu'un seul argument? Il suffit d'en mettre 2 dasn la déclaration non?

n°7257
Charlux
Profil : Jeune recrue
Posté le 31-03-2004 à 11:25:14  profilanswer
 

merci ça a marché la concaténation  


Aller à :
Ajouter une réponse