A l'intérieur de la fonction appelée, comment peut-on savoir combien d'arguments on été passé en paramètre ?Merci.Code:
1
2
3
4
5
6 void func(unsigned k,...) { int c=va_count(?); } func(5,12,17,3);
Version imprimable
A l'intérieur de la fonction appelée, comment peut-on savoir combien d'arguments on été passé en paramètre ?Merci.Code:
1
2
3
4
5
6 void func(unsigned k,...) { int c=va_count(?); } func(5,12,17,3);
Bonjour,
AMHA ce n'est pas possible en C.
Il faut prévoir un premier argument de type entier dans lequel sera indiqué le nombre d'arguments.
Didier
Bonjour,
Il me semble que ce n'est pas possible de savoir le nombre de paramètres passés.
Il faut
- soit donner le nombre de paramètres en paramètres (comme printf par exemple qui les donne avec les %x)
- soit terminer la liste des paramètres avec une valeur spéciale genre 0 ou -1...
Ben oui, gare au crash.
Bon ben tant pis.
Merci.