CHString::Format(UINT,...)-Methode (chstring.h)

[Die Klasse CHString ist Teil des WMI-Provider-Frameworks, das nun als endgültig betrachtet wird, und es sind keine weiteren Entwicklungen, Verbesserungen oder Updates für nicht sicherheitsrelevante Probleme verfügbar, die diese Bibliotheken betreffen. Die MI-APIs sollten für alle Neuentwicklungen verwendet werden.]

Die Methode Format formatiert und speichert eine Reihe von Zeichen und Werten in einer Zeichenfolge CHString.

Syntax

void  throw(CHeap_Exception) Format(
  UINT nFormatID,
  ...  
);

Parameter

nFormatID

Zeichenfolgenressourcenbezeichner, der die Formatsteuerelementzeichenfolge enthält.

...

Argumentliste.

Rückgabewert

CHeap_Exception

Hinweise

Jedes optionale Argument (sofern vorhanden) wird gemäß der entsprechenden Formatspezifikation in lpszFormat oder aus der durch nFormatID identifizierten Zeichenfolgenressource konvertiert und ausgegeben.

Hinweis Um sicherheitsrelevante Angriffe zu verringern, verwenden Sie immer eine Formatzeichenfolge für Format. Beispielsweise ist Format(input) ausnutzbar und Format("%s", eingabe) nicht. Verwenden Sie niemals eine vom Benutzer bereitgestellte Zeichenfolge für die Formatzeichenfolge. Wenn Ihre Formatzeichenfolge für einen Zweck wie die Lokalisierung gespeichert wird, stellen Sie sicher, dass die Zeichenfolge vor unbefugtem Schreibzugriff geschützt ist. Wenn Ihre Funktion in eine Zeichenfolge anstatt in eine Standardausgabe schreibt, müssen Sie möglicherweise vermeiden, dass Sie in der Formatzeichenfolge eine nachfolgende "%s" verwenden.

Wenn das Zeichenfolgenobjekt als Parameter für Format angeboten wird, schlägt der Aufruf fehl. Der folgende Code verursacht beispielsweise unvorhersehbare Ergebnisse.

Beispiele

CHString str = L"Some Data";

// Attention: str is also used in the parameter list.
str.Format(L"%s%d", str, 123);

Hinweis Wenn Sie eine Zeichenfolge als optionales Argument übergeben, müssen Sie sie explizit in LPCWSTR umwandeln. Das Format-Argument hat dieselbe Form und Funktion wie das Formatargument für die printf-Funktion . Am Ende der geschriebenen Zeichen wird ein NULL-Zeichen angefügt.

Anforderungen

Anforderung Wert
Header chstring.h

Weitere Informationen

CHString

CHString::GetBuffer