En C : définition bizare de fonction... ;o(
PasDeBol
-
blurk Messages postés 493 Date d'inscription Statut Membre -
blurk Messages postés 493 Date d'inscription Statut Membre -
J'ai récupéré des sources, et j'ai une fonction "toto" définit comme suit :
int toto(FILE *f, ...)
et plus loin, elle est utilisé comme suit :
toto(file_étoile, "chaine_de_caractères", NULL)
Quelqu'un pourrait-il m'expliquer ce que sont ces "..." dans la définition de la fonction ?!?... Merci !
PasDeBol
"Respectez la nature pour que la nature vous respecte..."
int toto(FILE *f, ...)
et plus loin, elle est utilisé comme suit :
toto(file_étoile, "chaine_de_caractères", NULL)
Quelqu'un pourrait-il m'expliquer ce que sont ces "..." dans la définition de la fonction ?!?... Merci !
PasDeBol
"Respectez la nature pour que la nature vous respecte..."
3 réponses
-
salut
ça signifie qu'on peut lui passer autant de FILE qu'on veut
toto(FILE1,FILE2,FILE3,FILE4,NULL);
NULL c'est pour dire "c'est tout, y'en a plus" (enfin je pense)
un exemple de chez stdio.h:
printf(" %d %d %d %d", i1, i2, i3, i4);
ici, pas besoin de NULL, Ritchie et Kernigan se sont débrouillés autrement pour écrire cette fonction
y'a pas de limite (euh en théorie...)
puissant le C, non? -
-
ben, dans printf on compte les % et on sait combien il y a de param, mais sinon, dans la fonction vue ci-dessus on fait une boucle jusqu'à ce que la valeur du param suivant soit NULL
c'est une solution comme une autre
a+