If return 0

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. mais comment faire un

    if le programme se ferme
    alors arreter l'ordi

    ?
    1. Contributeur
      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 ?
    2. Contributeur
      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 ?
    3. Contributeur
      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.
    4. Contributeur
      Si le programme est fermé brutalement, je ne vois pas comment faire, surtout sous win. à par un script
    5. Contributeur
      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.
  2. 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. si le programme se ferme, on arrete l'ordi
      1. Contributeur
        Réponds correctement à la question si tu veux des réponses.
        Si le programme se ferme correctement ou brutalement ?