Maison > Article > développement back-end > Comment puis-je transmettre en toute sécurité des arguments variables à printf et sprintf ?
Lors de la personnalisation du formatage des messages d'erreur ou d'autres textes dynamiques, il devient nécessaire de transmettre un nombre variable d'arguments à printf ou sprintf. Pour résoudre ce problème, envisagez la solution personnalisée suivante :
La clé réside dans l'appel de la fonction vfprintf, qui prend un nombre variable d'arguments. Voici un extrait de code présentant son utilisation :
void Error(const char* format, ...) { va_list argptr; va_start(argptr, format); vfprintf(stderr, format, argptr); va_end(argptr); }
Dans ce code, vfprintf affiche le texte formaté sur stderr. Vous pouvez également utiliser vsnprintf pour enregistrer la sortie dans une chaîne. Gardez à l'esprit que l'utilisation de vsprintf est déconseillée en raison de sa sensibilité aux débordements de tampon.
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!