C6063
Ostrzeżenie C6063: Brak argumentu ciąg do <function> odpowiadające specyfikatora konwersji <number>
To ostrzeżenie wskazuje, że świadczone są za mało argumentów odpowiadać ciągu formatu; co najmniej jeden z argumentów brak jest ciągiem.Wada ten może spowodować awarię i przepełnienia bufora (jeśli jest wywoływana funkcja sprintf rodziny), jak również potencjalnie nieprawidłowych danych wyjściowych.
Przykład
Poniższy kod generuje ostrzeżenie to:
#include <string.h>
void f( )
{
char buff[15];
sprintf(buff, "%s %s", "Hello, World!");
}
Aby poprawić to ostrzeżenie, należy zapewnić dodatkowe argumenty, jak pokazano w poniższym kodzie:
#include <string.h>
void f( )
{
char buff[15];
sprintf(buff, "%s %s ", "Hello","World");
}
Następujący kod usuwa to ostrzeżenie przy użyciu funkcji manipulacji bezpieczne ciąg:
#include <string.h>
void f( )
{
char buff[15];
sprintf_s( buff, sizeof(buff),"%s", "Hello, World!" );
}