Bonjour,
Qqun sait � quoi servent vprintf() et vfprintf() ?On en parle vaguement dans mon livre mais sans donner d'exemple ,moi je les ai essay�es et apparamment le r�sultat est le m�me que printf () et fprintf ()![]()
Merci
Zazeglu
Bonjour,
Qqun sait � quoi servent vprintf() et vfprintf() ?On en parle vaguement dans mon livre mais sans donner d'exemple ,moi je les ai essay�es et apparamment le r�sultat est le m�me que printf () et fprintf ()![]()
Merci
Zazeglu
Le r�sultat oui, mais le format d'appel est diff�rent. Dans printf, tu passes les arguments directement � la fonction. Dans vprintf, tu passes une va_list qui pointe vers tes arguments.
Quel est l'int�r�t ?
C'est tout simplement si tu veux cr�er une fonction � arguments variables que tu voudrais ensuite passer � un printf par exemple. Dans ce cas tu es oblig� de passer par va_list.
Voici l'exemple d'une fonction de type printf mais qui non seulement l'affiche, mais aussi l'enregistre dans un fichier de logs.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 FILE* flog; void logprintf(const char* fmt, ...) { va_list v; va_start(v, fmt); vprintf(fmt, v); va_end(v); va_start(v, fmt); vfprintf(flog, fmt, v); va_end(v); }
Merci bien; mais c'est quoi une va_list ?Je n'ai pas encore �tudier le passage de nombre variable d'argument � un fct en faite
![]()
Zazeglu
va_list est simplement un typedef de char*, donc va_list v c'est juste char* v.
En gros, on fait pointer v sur le 1er param�tre gr�ce � va_start, puis on peut le faire pointer successivement sur chacun des param�tres si on connait leur taille, ou simplement l'utiliser dans vprintf ou vfprintf.
Mieux que SDL : d�couvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Merci bien![]()
Au fait ,je ne sais pas si je te l'ai d�ja dit mais :
"Heureux l'�tudiant qui, comme la rivi�re, peut suivre son cours sans sortir de son lit" [Patrick Lemmers]
"Avec tes sockets et ton c sharp tu auras pas froid cet hiver" [Cyrille P. aka "Z"]![]()
Zazeglu
Partager