Freigeben über


_TRUNCATE

Gibt Zeichenfolgenabschneidenverhalten an.

#include <stdlib.h>

Hinweise

_TRUNCATE aktiviert Abschneidenverhalten, wenn Sie count als Parameter an diese Funktionen übergeben werden:

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

Wenn der den Zielpuffer zu klein ist, wird die gesamte Zeichenfolge aufzunehmen, ist das normale Verhalten dieser Funktionen, es als Fehlerkonstellation zu behandeln (siehe Parametervalidierung). Wenn Zeichenfolgenabschneiden aktiviert ist, indem _TRUNCATE übergibt, kopieren Sie diese Funktionen nur so viel der Zeichenfolge, z anpassen, den Zielpuffer auf NULL enden verlassend und erfolgreich Sie zurückkehren.

Eine Abschneidenänderungen Sie die Rückgabewerte der betroffenen Funktionen auf. Die folgenden Funktionen geben 0, wenn kein Kürzung auftritt, oder STRUNCATE zurück, wenn das Abschneiden auftritt:

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

Die folgenden Funktionen geben der Anzahl der kopierten Zeichen, wenn kein Kürzung auftritt, oder -1 zurück, wenn das Abschneiden auftritt (das Verhalten der ursprünglichen snprintf Funktionen abgleichend):

_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l

Beispiel

// 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 );
}
  

Siehe auch

Referenz

Globale Konstanten