[C++] _onexit() et atexit()

Résolu/Fermé
Wazza6 Messages postés 180 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 21 juillet 2012 - 1 déc. 2009 à 01:03
Wazza6 Messages postés 180 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 21 juillet 2012 - 2 déc. 2009 à 03:01
Bonjour,
je fais une librarie C++ avec plein de fonctions utiles et je comptes la publier quand elle sera plus avancée , pour l'instant j'ai commencé à faire un mini programme en console pour expliquer ses fonctions et j'ai une fonction qui vérifie si une ou plusieurs erreurs ont étés signalées et qui écrit "Application exited cleanly" dans un fichier si tout c'est bien passé et écrit "Errors occured , please contact me at <l'addresse e-mail définie pas le développeur>" dans le même fichier si il y a eu une erreur.

Je voudrais que mon programme appèle cette fonction quand il se ferme avec Alt+F4 / bouton X sous windows , j'ai essayé avec atexit(runAtExit) et _onexit(runAtExit) ou runAtExit() est la fonction à appeler , mais elle tourne en boucle , alors je me retrouves avec environ 100 fois la même ligne dans le fichier. J'ai essayé de mettre une variable globale (pour ne pas qu'elle se re-définisse chaque fois que la fonction recommence) de type bool et de mettre un if(onExitDone==false) {/*code*/} , mais toujours le même problême. J'utilises Code::Blocks si ça peut être la cause du problème. Mes includes sont
#include <iostream>
#include <UFL.h> // Ma librarie
#include <cstdlib>

Merci.

2 réponses

Wazza6 Messages postés 180 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 21 juillet 2012 40
1 déc. 2009 à 23:15
Personne?
0
Wazza6 Messages postés 180 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 21 juillet 2012 40
2 déc. 2009 à 03:01
réglé ... J'ai du appeler une fonction depuis la fonction qui tourne quand le programme se ferme avec un do { exit();} while (onExitDone==false);
0