Shutdown avec une variable en C

seth -  
 seth -
Bonjour,
je debut en langage C et j'ai essayer de cree un petit programme avec la console ou l'on indique le temp que l'on veut et l'ordinateur s'arette:



#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long shut = 0;

printf("eteindre dans=");
scanf("%ld", &shut);
system(" shutdown -s -t %ld", shut);
return 0;
}

mais ca ne fonctione pas la commande system n'est pas compatible avec les variables?
si quelqu'un pourait m'aider ...
A voir également:

5 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
montre le résultat du printf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
et si tu supprimes l'appel à system, il ne va rien se passer !!!
1
seth
 
pour la ligne 10 ----) sscanf(cmd, "shutdown -s -t %ld", shut); j'ai format argument is not a pointerpour le prints il n'affiche rien des signes bizzars des caracters speciaux d ugenre pettit 1 carrres }
0
seth
 
pour la ligne 10 ----) sscanf(cmd, "shutdown -s -t %ld", shut); j'ai format argument is not a pointerpour le prints il n'affiche rien des signes bizzars des caracters speciaux d ugenre pettit 1 carrres }
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
system ne comprend pas les % d'un format, il lui faut une chaine de caractères

char cmd[128];

sscanf(cmd, " shutdown -s -t %ld", shut);
system(cmd);
0
seth
 
j'ai essayer ce que tu ma dit mais sa ne semble pas fonctionner dit moi si j'ai mal inseré
(sscanf(cmd, " shutdown -s -t %ld", shut); j'ai enlever un s)

ca donne sa

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long shut = 0;

printf("eteindre dans=");
scanf("%ld", &shut);
char cmd[128];
scanf(cmd, "shutdown -s -t %ld", shut);
system(cmd);
return 0;
}

merci
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
il faut 2s
sscanf(cmd, "shutdown -s -t %ld", shut);
0
seth
 
ok je vait essayer je te redit demain si sa a marché
0
seth > seth
 
je comprend pas sa marche toujour pas..


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long shut = 0;

printf("eteindre dans=");
scanf("%ld", &shut);
char cmd[128];
sscanf(cmd, "shutdown -s -t %ld", shut);
system(cmd);
return 0;
}
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
déplacer char cmd[128]; après long shut=0
mettre un printf("%s\n", cmd); après le sscanf
0
seth
 
desoler je comprend pas je remplace system(cmd); par printf("%ld\n", cmd);?



#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long shut = 0;
char cmd[128];
printf("eteindre dans=");
scanf("%ld", &shut);
sscanf(cmd, "shutdown -s -t %ld", shut);
printf("%ld\n", cmd);
return 0;
}
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637 > seth
 
non, %s pour voir le contenu de cmd
0
seth > dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention  
 
ca me met (j'utilise code blocks) syntax error befor return ca na aucuns sens ...
printf("%s\n", cmd) -) pourquoi voirs cmd?

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long shut = 0;
char cmd[128];
printf("eteindre dans=");
scanf("%ld", &shut);
sscanf(cmd, "shutdown -s -t %ld", shut);
printf("%s\n", cmd)
return 0;
}
merci deme repondre depuis le debut je debute et un debutant ca doit etre chiant
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > seth
 
T'as oublié un point-virgule au dernier printf.
0
seth > kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention  
 
houps merci
essais!
tpujours rien...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
Normal, ce n'est pas sscanf qu'il faut utiliser mais sprintf !
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long shut = 0;

printf("eteindre dans=");
scanf("%ld", &shut);
char cmd[128];
sprintf(cmd, "shutdown -s -t %ld", shut);
system(cmd);
return 0;
}
0
seth
 
sa semble mieu fonctionner mais il y a un probleme avec le shutdown la consol affiche le shudown help
le scan n'est pas pris en compte?
0