Commande system() en C

Résolu
triquetrum Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
triquetrum Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un soucis avec la fonction system qui exécute des commandes comme dans un terminal. Or voila j'aimerais me servir de la commande shutdown en lui donnant en paramètre un temps qui est dans une variable.. Voici mon bout de code :

system("SHUTDOWN -t %d", temps);

et il n'arrive pas à compiler et me donne l'erreur suivante : "too many arguments to function `system' "

voila, si quelqu'un peut m'aider pour régler ce problème ... ++

4 réponses

mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
tu as trop d'arguments la fonction system() ne prend qu'un seul argument en parametre...
0
triquetrum Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Oui c'est effectivement ce que me dit le compilo...
Lorsque je fais mon programme avec "shutdown -r -t 60" par exemple et ça fonctionne impec. Ce que je voudrais c'est remplacer le 60 par la valeur que contiendrait une variable 'temps'.

Et c'est là que ça bloque .. . .
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
tu peux le faire en plusieurs etapes en copiant d'abord l'argument dans une chaine puis en utlisant cette chaine dans la fonction system()
char arg_sys[30];
strcpy(arg_sys,"SHUTDOWN -t ");
arg_sys[12]=temps;
arg_sys[13]='\0';
system(arg_sys);
0
triquetrum Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir !!

Merci pour ces infos!! Mais je me suis rendu compte que je faisais n'importe quoi dans mon code. Il suffisait de mettre tout simplement temps à la place %d !!!

Bonne soirée et a ++
0