(C) Pb fonction system ()

Résolu/Fermé
Bince313 - 29 sept. 2005 à 15:48
 s'lut - 21 déc. 2010 à 02:58
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");

}
A voir également:

8 réponses

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
29 sept. 2005 à 16:22
salut, tu fais
char second[50]; 
sprintf(second, "shutdown -t %d",sec);
system(second);
2
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
20 mai 2007 à 19:04
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
"deputant"
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
30 sept. 2005 à 13:13
essaie "shutdown -s -t %d"
1
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
3 oct. 2005 à 16:49
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 jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
29 sept. 2005 à 16:37
"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
Bingo !

Merci snipeur et les autres maintenant ca marche super ^^
0
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 vendredi 13 mars 2009 Statut Membre Dernière intervention 16 décembre 2010 34
13 mars 2009 à 20:36
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 vendredi 13 mars 2009 Statut Membre Dernière intervention 16 décembre 2010 34
16 mars 2009 à 09: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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
16 mars 2009 à 08:58
C'est sur que si tu essais de lancer le .c ça ne va pas donner grand chose...
-1