(C) Pb fonction system ()

Résolu
Bince313 -  
 s'lut -
Bonjour, alors voila je voudrais faire un petit programme en C pour permettre d'éteindre l'ordinateur apres un laps de temps en minutes mais j'ai un pb pour mettre la variable "sec" dans la fonction system, quand je lance le programme il fait comme si j'avais appelé l'invite de commande...

Voila le script : (je précise j'ai fait 4h de C a l'ecole jusqu'a présent...)

/************************************************\
|* Programme d'arrêt programmé de l'ordinateur  *|
\************************************************/

// Includes

#include <stdio.h>
#include <conio.h>

// Variables

	int min=0,sec;

// Programme

void main(void)
{
   printf ("Eteindre l'ordinateur dans combien de MINUTES ? ");
   scanf("%d",&min);
   sec = min*60;

   printf("Commande : shutdown -t %d \n\n",sec);   // pour voir si la valeur est bien prise en compte

   system("shutdown -t %d",sec);

   printf("\n\nAppuyez sur une touche pour annuler");

   getch();

   system("shutdown -a");

}

8 réponses

tafiscobar Messages postés 1277 Date d'inscription   Statut Contributeur Dernière intervention   177
 
salut, tu fais
char second[50]; 
sprintf(second, "shutdown -t %d",sec);
system(second);
2
Bince313
 
Merci de vos réponses si rapides !

Alors...

Zep3k!GnO :

Oui, enfin il le prend en compte mais il me met le message d'aide comme quand on tape une mauvaise commande, donc je suppose qu'il met shutdown -t X où X est qqch que je ne sais pas vu que ca foire ^^


tafiscobar :

En effet c'est deja mieux, mais en lancant le programme apres avoir entré 89 minutes il a fermé ma session :s lol

Donc le code avec ta réponse =

/************************************************\
|* Programme d'arrêt programmé de l'ordinateur  *|
\************************************************/

// Includes

#include <stdio.h>
#include <conio.h>

// Variables

	int min=0,sec;
   char second[50];

// Programme

void main(void)
{
   printf ("Eteindre l'ordinateur dans combien de MINUTES ? ");
   scanf("%d",&min);
   sec = min*60;

   printf("Commande : shutdown -t %d \n\n",sec);   // pour voir si la valeur est bien prise en compte

	sprintf(second, "shutdown -t %d",sec);

	system(second);

   printf("\n\nAppuyez sur une touche pour annuler");

   getch();

   system("shutdown -a");

}


(je le remet au cas ou j'aurais fait une erreur)
2
bami ndjayou ludovic
 
bonsoir j'ai lu le code et je voulais le tester mais il ne compile pas
le dev c++ détecte une erreur dans l'instruction
system(second);
la 27 ième ligne
je ne comprend pas pourquoi?
MOI je suis députant et j'aimerais bien connaitre beaucoup de choses merçi de bien vouloir répondre
0
s'lut
 
"deputant"
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
essaie "shutdown -s -t %d"
1
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
Yes CoOl j'attendais de voir ce que tu disais et sniper m'a devancé... je savais qu'il y aavit un -s qui trainait qq part ..

Gg

Zep3k!GnO
-->hi i hi o on va pas o Boulo :D
1

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

Posez votre question
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
"il fait comme si j'avais appelé l'invite de commande" <--- CoMm3nt Ca ?!
tu veux dire genre il ne prend pas en compte ton shutdown ?!

Sinon t'as essayé ton shutdown direct en ligne de commande pour savoir si le problème ne vient pas de ta synthaxe ?!

Zep3k!GnO
-->hi i hi o on va pas o Boulo :D
0
Bince313
 
Bingo !

Merci snipeur et les autres maintenant ca marche super ^^
0
nounouma
 
Bonjour a tous, j'aimerais ecrire un programme en c equivalent a la commande ps -A ou ls -l par exemple:
(Par la meme occasion jaimerai savoir comment ecrire un programme en c equivalent a ps -A &ls -l)
Voici mon code

int main(){
int return_value;
return_value= system("ls -l /");
return return_value;
}
ca se compile bine , au niveau de l'execution jai le message "
bash: ./truc.c permission non autorisee.
Svp . pourrais je avoir votre aide?
-1
tuxun Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   34
 
Salut!

Ton fichier doit avoir les droits d'execution: chmod +x BINAIRE pour pouvoir le lancer comme ceçi
$ ./NOMDUBINAIRE
#sinon tu est limité a ça:
$ sh NOMDUBINAIRE
j'espere t'avoir aidé!
0
tuxun Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   34
 
bash: ./truc.c permission non autorisee. xD
Nounouma:
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c#part_14188
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c#part_14190
dans moins d'un mois tu aura ecris ton programme! en commencant de zero, hein?
bah site du zéro!

Cdt,
-Tuxun-
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
C'est sur que si tu essais de lancer le .c ça ne va pas donner grand chose...
-1