_set_printf_count_output
Aktifkan atau nonaktifkan dukungan format %n dalam printf
fungsi , , wprintf
_printf_l
, -_wprintf_l
family.
Sintaks
int _set_printf_count_output(
int enable
);
Parameter
enable
Nilai bukan nol untuk mengaktifkan dukungan %n , 0 untuk menonaktifkan %n dukungan.
Nilai properti atau nilai pengembalian
Status dukungan %n sebelum memanggil fungsi ini: bukan-nol jika %n dukungan diaktifkan, 0 jika dinonaktifkan.
Keterangan
Karena alasan keamanan, dukungan untuk penentu format %n dinonaktifkan secara default di printf
dan semua variannya. Jika %n ditemui dalam printf
spesifikasi format, perilaku defaultnya adalah memanggil handler parameter yang tidak valid seperti yang dijelaskan dalam Validasi parameter. Memanggil _set_printf_count_output
dengan argumen bukan nol akan menyebabkan printf
fungsi -family menginterpretasikan %n seperti yang dijelaskan dalam Sintaks spesifikasi format: printf
dan wprintf
fungsi.
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_set_printf_count_output |
<stdio.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// 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