Freigeben über


_TRUNCATE

Gibt Zeichenfolgen abschneiden verhalten.

#include <stdlib.h>

Hinweise

_TRUNCATE das Abschneiden aktiviert, wenn Sie als Parameter count auf 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 Zielpuffer zu klein ist, die gesamte Zeichenfolge aufzunehmen, ist das normale Verhalten dieser Funktionen es als Fehlerkonstellation zu behandeln (siehe Parametervalidierung).Wenn jedoch Zeichenfolgen abschneiden aktiviert ist, indem _TRUNCATEkopiert, übergibt diese Funktionen nur so viele, wie der Zeichenfolge passt, den Zielpuffer auf NULL endende verlassend und erfolgreich beendet werden.

Zeichenfolgen abschneiden ändert die Rückgabewerte der betreffenden Features.Die folgenden Funktionen geben 0, wenn kein Abschneiden auftritt, oder STRUNCATE zurück, wenn das Abschneiden stattfindet:

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 die Anzahl der kopierten Zeichen, wenn kein Abschneiden 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