En C et C , les fonctions printf et sprintf sont utilisées pour l'impression et l'écriture formatées. Ces fonctions permettent de spécifier une chaîne de format qui contrôle la façon dont les arguments suivants sont imprimés. Cependant, il peut y avoir des cas où le nombre d'arguments à imprimer n'est pas connu à l'avance. Cela pose la question de savoir comment passer un nombre variable d'arguments à ces fonctions.
La bibliothèque C standard fournit la fonction vfprintf, qui peut gérer un nombre variable d'arguments. Il faut deux arguments obligatoires :
L'extrait de code suivant montre comment utiliser vfprintf :
void Error(const char* format, ...) { va_list argptr; va_start(argptr, format); vfprintf(stderr, format, argptr); va_end(argptr); }
Dans cet exemple, la fonction Error prend une chaîne de format comme premier argument et un nombre arbitraire d'arguments supplémentaires. Ces arguments sont accessibles via la va_list, qui est initialisée à l'aide de va_start. La fonction vfprintf est ensuite appelée avec la chaîne de format et la va_list. Enfin, va_end est utilisé pour nettoyer la va_list.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!