PRINTF MAISON: FONCTION AVEC PARAMÈTRES ILLIMITÉS

Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008
-
Messages postés
38
Date d'inscription
mercredi 28 août 2002
Statut
Membre
Dernière intervention
24 janvier 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10138-printf-maison-fonction-avec-parametres-illimites

Messages postés
38
Date d'inscription
mercredi 28 août 2002
Statut
Membre
Dernière intervention
24 janvier 2010

juste un truc, je viens de le dire dans un autre commentaire, mais je le répère ;)
pk utiliser la librairiestdarg.h ?

perso, quand je veux un nombre de paramètres variable, je fais comme ça:

#include <stdio.h>

void foo(int nbelem, ...)
{
int i;
for(i = 1;i <= nbelem;i++)
{
printf("%d. %s\n", i, *(&nbelem+i));

}
}
int main(void)
{
foo(4, "foo", "bar", "mouhhaha", "powned!");
}



Après biensure, tu peux arranger comme tu veux...
Messages postés
249
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
7 août 2003
2
Arf je voulais dire liste chaînée et non pas pile.
Messages postés
249
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
7 août 2003
2
Sinon il y a une une autre méthode pour faire ça. Ça fait plus bricolo mais je la préfère. L'avantage on n'est pas obligé de donner le nombre d'arg au début mais simplement le début d'une pile. Arf oui ça demande plus de code à écrire dans la mais l'appel des fonctions est ensuite plus souple car ça ne prend qu'un argument et en prennant plusieurs, magic? non? bon je sors :(
Messages postés
19
Date d'inscription
vendredi 5 juillet 2002
Statut
Membre
Dernière intervention
27 juillet 2008

Tres bonne source. Simple et efficace.
Messages postés
47
Date d'inscription
mardi 1 octobre 2002
Statut
Membre
Dernière intervention
3 juin 2003

c'est très intéressant (et je ne suis pas ironique) car je ne savais pas comment gérer un nombre d'arguments illimité.
Cependant, je pense que je vais continuer a me servir des bonnes vieilles printf, sprintf, fprintf, etc.
Afficher les 6 commentaires