Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retrieves or modifies the threshold controlling buffer-filling behavior in debug functions.
Syntax
size_t _CrtSetDebugFillThreshold( size_t newThreshold );
Parameters
newThreshold
New threshold size in bytes.
Return value
The previous threshold value.
Remarks
The debug versions of some security-enhanced CRT functions fill the buffer passed to them with a special character (0xFE). This fill character helps to find cases where the incorrect size was passed to the function. Unfortunately, it also reduces performance. To improve performance, use _CrtSetDebugFillThreshold
to disable buffer-filling for buffers larger than the newThreshold
threshold. A newThreshold
value of 0 disables it for all buffers.
The default threshold is SIZE_T_MAX
.
Here's a list of the affected functions:
asctime_s
,_wasctime_s
_cgets_s
,_cgetws_s
ctime_s
,_ctime32_s
,_ctime64_s
,_wctime_s
,_wctime32_s
,_wctime64_s
_ecvt_s
_fcvt_s
_gcvt_s
_itoa_s
,_ltoa_s
,_ultoa_s
,_i64toa_s
,_ui64toa_s
,_itow_s
,_ltow_s
,_ultow_s
,_i64tow_s
,_ui64tow_s
_makepath_s
,_wmakepath_s
_mbsnbcat_s
,_mbsnbcat_s_l
_mbsnbcpy_s
,_mbsnbcpy_s_l
_mbsnbset_s
,_mbsnbset_s_l
_mktemp_s
,_wmktemp_s
_splitpath_s
,_wsplitpath_s
strcat_s
,wcscat_s
,_mbscat_s
strcpy_s
,wcscpy_s
,_mbscpy_s
_strdate_s
,_wstrdate_s
strerror_s
,_strerror_s
,_wcserror_s
,__wcserror_s
_strlwr_s
,_strlwr_s_l
,_mbslwr_s
,_mbslwr_s_l
,_wcslwr_s
,_wcslwr_s_l
strncat_s
,_strncat_s_l
,wcsncat_s
,_wcsncat_s_l
,_mbsncat_s
,_mbsncat_s_l
strncpy_s
,_strncpy_s_l
,wcsncpy_s
,_wcsncpy_s_l
,_mbsncpy_s
,_mbsncpy_s_l
_strnset_s
,_strnset_s_l
,_wcsnset_s
,_wcsnset_s_l
,_mbsnset_s
,_mbsnset_s_l
_strset_s
,_strset_s_l
,_wcsset_s
,_wcsset_s_l
,_mbsset_s
,_mbsset_s_l
_strtime_s
,_wstrtime_s
_strupr_s
,_strupr_s_l
,_mbsupr_s
,_mbsupr_s_l
,_wcsupr_s
,_wcsupr_s_l
vsnprintf_s
,_vsnprintf_s
,_vsnprintf_s_l
,_vsnwprintf_s
, _vsnwpr`intf_s_l
Requirements
Routine | Required header |
---|---|
_CrtSetDebugFillThreshold |
<crtdbg.h> |
This function is Microsoft-specific. For more compatibility information, see Compatibility.
Libraries
Debug versions of the C run-time libraries only.
Example
// crt_crtsetdebugfillthreshold.c
// compile with: cl /MTd crt_crtsetdebugfillthreshold.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <crtdbg.h>
void Clear( char buff[], size_t size )
{
for( int i=0; i<size; ++i )
buff[i] = 0;
}
void Print( char buff[], size_t size )
{
for( int i=0; i<size; ++i )
printf( "%02x %c\n", (unsigned char)buff[i], buff[i] );
}
int main( void )
{
char buff[10];
printf( "With buffer-filling on:\n" );
strcpy_s( buff, _countof(buff), "howdy" );
Print( buff, _countof(buff) );
_CrtSetDebugFillThreshold( 0 );
printf( "With buffer-filling off:\n" );
Clear( buff, _countof(buff) );
strcpy_s( buff, _countof(buff), "howdy" );
Print( buff, _countof(buff) );
}
With buffer-filling on:
68 h
6f o
77 w
64 d
79 y
00
fe ■
fe ■
fe ■
fe ■
With buffer-filling off:
68 h
6f o
77 w
64 d
79 y
00
00
00
00
00