Heim >Backend-Entwicklung >C++ >Wie kann ich variable Argumente sicher an printf und sprintf übergeben?
Beim Anpassen der Formatierung von Fehlermeldungen oder anderen dynamischen Texten ist es notwendig, eine variable Anzahl von Argumenten an printf oder zu übergeben sprintf. Um dieses Problem anzugehen, ziehen Sie die folgende maßgeschneiderte Lösung in Betracht:
Der Schlüssel liegt im Aufruf der vfprintf-Funktion, die eine variable Anzahl von Argumenten akzeptiert. Hier ist ein Codeausschnitt, der seine Verwendung veranschaulicht:
void Error(const char* format, ...) { va_list argptr; va_start(argptr, format); vfprintf(stderr, format, argptr); va_end(argptr); }
In diesem Code gibt vfprintf den formatierten Text an stderr aus. Alternativ können Sie vsnprintf verwenden, um die Ausgabe in einer Zeichenfolge zu speichern. Beachten Sie, dass von der Verwendung von vsprintf aufgrund der Anfälligkeit für Pufferüberläufe abgeraten wird.
Das obige ist der detaillierte Inhalt vonWie kann ich variable Argumente sicher an printf und sprintf übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!