If return 0

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

J'ai fait un programme, et je voulais savoir comment faire

if (mon programme se ferme)
{
system("shutdown/s");
}

Merci de votre aide


6 réponses

VanHelsing
 
Tu peux empiler des routines à executer en fin de programme (lors d'un appel à exit(), ou un return, par exemple), grâce à la fonction atexit():

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

void end_prg_cb (void)
{
    fprintf (stdout, "Fin du programme");
}

int main (void)
{
    atexit (end_prg_cb);

    fprintf (stdout, "Le programme va bientôt fermer");

    return 0;
}
1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
S'il se ferme correctement ou brutalement ?
0
lucas06150
 
Salut,

tu veux quoi exactement ?
Comment renvoyer 0 ?
0
Utilisateur anonyme
 
si le programme se ferme, on arrete l'ordi
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Réponds correctement à la question si tu veux des réponses.
Si le programme se ferme correctement ou brutalement ?
0

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

Posez votre question
Utilisateur anonyme
 
mais comment faire un

if le programme se ferme
alors arreter l'ordi


?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Déjà, si tu répondais à ma question, t'aurais eu ta réponse depuis une semaine...
i le programme se ferme correctement ou brutalement ?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
la réponse est donnée : atexit().
Tu ne peux pas faire un if(le programme se ferme) Dans un programme séquentiel ça n'a pas de sens.
Le mieux est en effet de répondre aux questions et donner plus d'informations sur le contexte. Nous ne sommes même pas certain que ce soit du C (les accolades et "system" mettent sur la voie, mais il faut deviner)

Ques veux tu dire par brutalement fiddy ? genr erreur de segmentation ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
A Char Snipeur,

Si le programme s'arrête normalement, un simple return 0; ou exit(0); suffira. Mais s'il s'arrête brutalement, genre l'utilisateur tue le programme via le gestionnaire, ce ne sera pas du tout la même démarche.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Si le programme est fermé brutalement, je ne vois pas comment faire, surtout sous win. à par un script
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Tu ne vois pas car ce n'est pas possible et c'est heureux ^^. Après oui, on peut toujours ruser par rapport à un autre programme qui scrute les programmes mémoires, mais bon... Mais c'est pour ça que j'ai posé la question car j'ai l'impression que c'est ce qu'il souhaite faire.
0
Utilisateur anonyme
 
merci beaucoup de votre aide.
0