Comment transmettre à une fonction fille appelée par une fonction mère, une liste variable d'arguments fournie à la fonction mère

Voir le sujet précédent Voir le sujet suivant Aller en bas

Comment transmettre à une fonction fille appelée par une fonction mère, une liste variable d'arguments fournie à la fonction mère

Message  BS le Dim 9 Mar 2014 - 21:47

Cela doit être évident quand on connait. Mon problème est le suivant. Je voudrais dans un programme imprimer un certain nombre de donnée si un flag est on:

Ceci est équivalent à:

if(flag == 1) {
 printf (format, x, y, z);
}

Mais comme je veux le faire en de nombreux point du programme et que je suis paresseux, j'aimerai faire une fonction du type
int flag =1;

void main (){
.......
monPrint(" %d %d \n", i, j);
monPrint(" %d %d %f\n", i, j, x);
........
}

fonction monPrint( char* format, ... )
{
 if(flag == 1) {
   printf (format, ??? );
 }
}

en lua, le ??? serait remplacé par ...

Comment faire en c?

Merci d'avance pour toute aide

BS

Messages : 1
Date d'inscription : 09/03/2014

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Comment transmettre à une fonction fille appelée par une fonction mère, une liste variable d'arguments fournie à la fonction mère

Message  -ed- le Lun 1 Sep 2014 - 1:43

Il y a longtemps que je n'ai pas fait de C, mais il me semble que c'est avec les fonction v* (vprintf etc.)

http://stackoverflow.com/questions/1056411/how-to-pass-variable-number-of-arguments-to-printf-sprintf

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum