Va_list

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 - 14 avril 2004 à 17:38
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 14 avril 2004 à 20:01
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

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
14 avril 2004 à 20:01
une fois que tu as la va_list, il faut appeler vprintf
0
Rejoignez-nous