fct avec un nombre variable d'argument.
bonjour, je souhaite utiliser une fonction acceptant un nombre variable d'argument, alors j'ai regardé un peu a droite et a gauche, j'ai trouvé va_list, va_args et va_end avec des tuto qui explique comment acceder a chacun (un par un) de ces arguments.. tres bien... mais j'ai un probleme :
comment on accede a tous les arguments ?
par exemple, je veux englober un fprintf() dans une fonction de debuggage,
fprintf accepte un nombre variable d'argument, ma fonction debug() en acceptera aussi un nombre variable, mais comment je les passe a fprintf ???
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| /* exemple d'appel de ma fct de debuggage : */
debug("x:%ld y:%ld",x,y);
debug("ici");
/*exemple de ce pourrait être cette fonction de debuggage : */
void debug(int N,...)
{
#ifdef DEBUG_STDOUT
fprintf( /* et là je fais quoi?...*/);
#endif
#ifdef DEBUG_FILE
...
#endif
} |
voilà.
d'avance, merci.
exemple de ce que j'ai trouvé : http://melem.developpez.com/langagec...age=libc#LVI-A