1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
// dans un include
// PrintfCallback_t est un pointeur de fonction qui attend la chaine de caractères à afficher et qui ne retourne rien
typedef void (*PrintfCallback_t)(const char *Texte);
extern void SetPrintfCallback(PrintfCallback_t Fct);
extern void MonPrintf(const char *Format, ...);
// dans un source
static PrintfCallback_t FctCallback = NULL;
void SetPrintfCallback(PrintfCallback_t Fct)
{
FctCallback = Fct;
}
void MonPrintf(const char *Format, ...)
{
// construit le buffer à afficher
char buffer[4096];
snprintf(...)
// appel de la fonction callback
if(FctCallback != NULL)
FctCallback(buffer);
// affichage par printf classique si necessaire
printf(buffer);
} |
Partager