C6383
Ostrzeżenie C6383: bufor przekroczenie ze względu na konwersji elementu count liczba bajtów: oczekuje elementu count dla parametru <number> w wywołaniu <function>
To ostrzeżenie wskazuje, że liczba bajtów-stała jest przekazywany podczas zliczania element jest wymagany.Zwykle występuje to, gdy zmienna jest mnożona przez sizeof w rodzaju, ale kod analizy wynika, że wymagana jest liczba elementów.
Przykład
Poniższy kod generuje ostrzeżenie to:
#include <string.h>
void f( wchar_t* t, wchar_t* s, int n )
{
// code...
wcsncpy (t, s, n*sizeof(wchar_t)); // warning 6383
// code ...
}
Aby poprawić to ostrzeżenie, nie należy mnożyć zmiennej z sizeof typu, jak pokazano w poniższym kodzie:
void f( wchar_t* t, wchar_t* s, int n )
{
// code
wcsncpy (t, s, n);
// code ...
}
Poniższy kod poprawia to ostrzeżenie przy użyciu funkcji manipulacji bezpieczne ciąg:
void f(wchar_t* t, wchar_t* s, size_t n)
{
// code...
wcsncpy_s( t, sizeof(s), s, n );
// code...
}
Zobacz też
Informacje
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l