Dans votre courrier du Nov 20, 13:43, vous ecrivez:
Quelqu'un sait-il comment on peut recuperer les parametres d'une fonction
en C declaree comme suit :
void pipo(int, int, ...)
Ce que j'essaye de faire, c'est comme 'printf', a savoir passer des
arguments obligatoires (les deux premiers int), et des arguments
optionnels, qui peuvent etre de n'importe quel type (le deux int me
permettraient de dire a quoi j'aurais a faire).
Voici un petit exemple d'utilisation d'une fonction a nombre variable de
parametres :
#include <stdio.h>
#include <stdarg.h>
/*****************************************************************************/
/* */
/* addn */
/* */
/* But: */
/* réalise l'addition d'un nombre variable de paramètres */
/* */
/*****************************************************************************/
int addn(int nbopd, ...) /* nbopd = nombre d'opérandes du add */
{
int i, s = 0;
va_list(ap); /* déclaration de ap */
va_start(ap,nbopd); /* initialisation de ap */
for( i = 1; i <= nbopd; i++)
s = s + va_arg(ap,int); /* va_arg() donne le paramètre courant */
va_end(ap); /* on a fini */
return(s);
}
/*****************************************************************************/
/* main */
/*****************************************************************************/
int main()
{
printf("resu = %d\n",addn(3,10,11,12)); /* imprime 33 */
}
--
-------------------------------------------------------------------------------
Bernard Cassagne Laboratoire CLIPS - IMAG
Domaine Universitaire BP 53 38041 Grenoble CEDEX 9 FRANCE
tel: 04.76.51.46.14 fax: 04.76.44.66.75 e-mail:Bernard.Cassagne@???