Ou é lerreur?(too many argument)

freekid Messages postés 55 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 8 mai 2011 - 7 mai 2005 à 14:30
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006 - 8 mai 2005 à 14:14
cin>>num;

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



tout est dans le titre

3 réponses

yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
7 mai 2005 à 15:00
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.
0
freekid Messages postés 55 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 8 mai 2011
8 mai 2005 à 12:11
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
0
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
8 mai 2005 à 14:14
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.
0
Rejoignez-nous