Va_list

Signaler
Messages postés
584
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
29 mai 2015
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
Salut à tous,

je voudrais faire un truc idiot mais c juste pour un test : je voudrais faire une fonction myprintf qui fasse comme printf (en utilisant printf). Pour cela je suis parti sur va_list :

#include <stdio.h>
#include <stdarg.h>

void myprintf(const char* format, ...)
{
va_list liste;
va_start(liste, format);
printf(format, liste);
va_end(liste);
}

int main()
{
myprintf("2+3 = %d\n", 5);
return 0;
}

Resultat: 2+3 = -1073744636

Visiblement on ne peut pas utiliser la va_list directement dans printf.
Quelqu'un sait-il comment je peux faire ?

PS : je ne connais pas le nombre d'arguments à l'avance

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac

1 réponse

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
une fois que tu as la va_list, il faut appeler vprintf