Ou é lerreur?(too many argument)

Signaler
Messages postés
55
Date d'inscription
dimanche 19 septembre 2004
Statut
Membre
Dernière intervention
8 mai 2011
-
Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006
-
cin>>num;

system("echo "ATDT %s" > /dev/modem",&num);



tout est dans le titre

3 réponses

Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006

Bonjour,
La commande system () n'accepte qu'un argument. Toi, tu lui en donne 2 :
- echo "ATDT %s" > /dev/modem
- &num
Voila le problème.

Pour resoudre cela il te faut utiliser printf. sytem () ne te permet pas de faire ce que tu a fait comme avec printf.

Bon courage.
Messages postés
55
Date d'inscription
dimanche 19 septembre 2004
Statut
Membre
Dernière intervention
8 mai 2011

ben oui ca je c.

le probléme c'est qu'il faudrait que ca soit fait avec la commandfe system.c'est à dire un truc dans le genre

char var;

char num;

cin>>num;

var="echo "ATDT "+&num+"" > /dev/modem";

system(&var);

je sais pas si tu vois ce que je ve dire
Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006

Comme dit plus haut voit la fonction sprintf, elle fait se que tu demande.
Voir sur msdn ou le site pour exemple et syntaxe.
Il te faut d'abord formater la chaine comme il faut et ensuite la passer a system.

Bon courrage.