Posez votre question Signaler

(C) Pb fonction system () [Résolu]

Bince313 - Dernière réponse le 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");

}
Lire la suite 

(C) Pb fonction system () »

12 réponses
Réponse
+2
moins plus
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)
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
s'lut - 21 déc. 2010 à 02:58
"deputant"
Ajouter un commentaire
Réponse
+1
moins plus
salut, tu fais
char second[50]; 
sprintf(second, "shutdown -t %d",sec);
system(second);
Ajouter un commentaire
Réponse
+1
moins plus
essaie "shutdown -s -t %d"
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
"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
Ajouter un commentaire
Réponse
+0
moins plus
Bingo !

Merci snipeur et les autres maintenant ca marche super ^^
Ajouter un commentaire
Réponse
-1
moins plus
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?
tuxun- 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é!
tuxun- 16 mars 2009 à 09:34
bash: ./truc.c permission non autorisee. xD
Nounouma:
http://www.siteduzero.com/...
http://www.siteduzero.com/...
dans moins d'un mois tu aura ecris ton programme! en commencant de zero, hein?
bah site du zéro!

Cdt,
-Tuxun-
Ajouter un commentaire
Réponse
-1
moins plus
C'est sur que si tu essais de lancer le .c ça ne va pas donner grand chose...
Ajouter un commentaire
Ce document intitulé « (C) Pb fonction system () » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?