_TRUNCATE

Especifica o comportamento de truncamento de seqüência de caracteres.

#include <stdlib.h>

Comentários

_TRUNCATE permite o truncamento comportamento quando passado sistema autônomo o count parâmetro para estas funções:

strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l

strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l

mbstowcs_s, _mbstowcs_s_l

mbsrtowcs_s

wcstombs_s, _wcstombs_s_l

wcsrtombs_s

_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l

Se o buffer de destino for muito pequeno para conter toda a seqüência de caracteres, o comportamento normal dessas funções é tratá-lo sistema autônomo uma situação de erro (consulte Validação de parâmetro). No entanto, se o truncamento de seqüência de caracteres estiver ativado por psistema autônomosing _TRUNCATE, essas funções copiará somente sistema autônomo da seqüência de caracteres sistema autônomo caberá, deixando o buffer de destino finalizados com nulo e retornar com êxito.

Truncamento de seqüência de caracteres altera os valores de retorno das funções afetados.As seguintes funções retornam 0 se ocorrer sem truncamento ou STRUNCATE Se ocorrer truncamento:

strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l

strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l

wcstombs_s, _wcstombs_s_l

mbstowcs_s, _mbstowcs_s_l

As seguintes funções de retornam o número de caracteres copiados se ocorre sem truncamento ou -1 se ocorrer truncamento (correspondência o comportamento das funções snprintf original):

_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l

Exemplo

// crt_truncate.c
#include <stdlib.h>
#include <errno.h>

int main()
{
   char src[] = "1234567890";
   char dst[5];
   errno_t err = strncpy_s(dst, _countof(dst), src, _TRUNCATE);
   if ( err == STRUNCATE )
      printf( "truncation occurred!\n" );
   printf( "'%s'\n", dst );
}

truncation occurred! '1234'

Consulte também

Referência

Constantes global