Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktivieren oder deaktivieren Sie die Unterstützung des %n-Formats inprintf , _printf_l, wprintf- _wprintf_lFamily-Funktionen.
Syntax
int _set_printf_count_output(
int enable
);
Parameter
enable
Ein Wert ungleich Null zum Aktivieren der %n-Unterstützung , 0 zum Deaktivieren der %n-Unterstützung .
Eigenschaftswert oder Rückgabewert
Der Status der %n-Unterstützung vor dem Aufrufen dieser Funktion: Ungleich Null, wenn %n-Unterstützung aktiviert wurde, 0, wenn sie deaktiviert wurde.
Hinweise
Aus Sicherheitsgründen ist die Unterstützung für den Formatbezeichner "%n " standardmäßig in printf und allen zugehörigen Varianten deaktiviert. Wenn %n in einer printf Formatspezifikation auftritt, besteht das Standardverhalten darin, den ungültigen Parameterhandler aufzurufen, wie in der Parameterüberprüfung beschrieben. Das Aufrufen _set_printf_count_output mit einem Argument ungleich Null führt printfdazu, dass "-family"-Funktionen %n wie in der Formatspezifikationssyntax beschrieben interpretieren: printf und wprintf Funktionen.
Anforderungen
| Routine | Erforderlicher Header |
|---|---|
_set_printf_count_output |
<stdio.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_set_printf_count_output.c
#include <stdio.h>
int main()
{
int e;
int i;
e = _set_printf_count_output( 1 );
printf( "%%n support was %sabled.\n",
e ? "en" : "dis" );
printf( "%%n support is now %sabled.\n",
_get_printf_count_output() ? "en" : "dis" );
printf( "12345%n6789\n", &i ); // %n format should set i to 5
printf( "i = %d\n", i );
}
%n support was disabled.
%n support is now enabled.
123456789
i = 5