In C und C werden die Funktionen printf und sprintf zum formatierten Drucken und Schreiben verwendet. Diese Funktionen ermöglichen die Angabe einer Formatzeichenfolge, die steuert, wie nachfolgende Argumente gedruckt werden. Es kann jedoch vorkommen, dass die Anzahl der zu druckenden Argumente nicht im Voraus bekannt ist. Dies wirft die Frage auf, wie eine variable Anzahl von Argumenten an diese Funktionen übergeben werden kann.
Die Standard-C-Bibliothek stellt die Funktion vfprintf bereit, die eine variable Anzahl von Argumenten verarbeiten kann. Es werden zwei obligatorische Argumente benötigt:
Der folgende Codeausschnitt zeigt die Verwendung vfprintf:
void Error(const char* format, ...) { va_list argptr; va_start(argptr, format); vfprintf(stderr, format, argptr); va_end(argptr); }
In diesem Beispiel verwendet die Error-Funktion eine Formatzeichenfolge als erstes Argument und eine beliebige Anzahl zusätzlicher Argumente. Der Zugriff auf diese Argumente erfolgt über die va_list, die mit va_start initialisiert wird. Anschließend wird die vfprintf-Funktion mit der Formatzeichenfolge und der va_list aufgerufen. Schließlich wird va_end verwendet, um die va_list zu bereinigen.
Das obige ist der detaillierte Inhalt vonWie übergebe ich in C und C eine variable Anzahl von Argumenten an printf/sprintf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!