Warnung C6063
Fehlendes Zeichenfolgenargument für 'Funktion', das dem Konvertierungsbezeichner 'number' entspricht.
Hinweise
Diese Warnung gibt an, dass nicht genügend Argumente bereitgestellt werden, um einer Formatzeichenfolge zu entsprechen. Mindestens eines der fehlenden Argumente ist eine Zeichenfolge. Dieser Fehler kann Abstürze und Pufferüberläufe verursachen (wenn die aufgerufene Funktion der sprintf
Familie ist) und auch potenziell falsche Ausgabe.
Codeanalysename: MISSING_STRING_ARGUMENT_TO_FORMAT_FUNCTION
Beispiel
Der folgende Code generiert diese Warnung:
#include <stdio.h>
void f( )
{
char buff[15];
sprintf(buff, "%s %s", "Hello, World!");
}
Um diese Warnung zu korrigieren, entfernen Sie den nicht verwendeten Formatbezeichner, oder geben Sie die erforderlichen Argumente an, wie im folgenden Code gezeigt:
#include <stdio.h>
void f( )
{
char buff[15];
sprintf(buff, "%s %s ", "Hello","World");
}
Der folgende Code korrigiert diese Warnung mithilfe der Funktion für sichere Zeichenfolgenmanipulation:
#include <stdio.h>
void f( )
{
char buff[15];
sprintf_s( buff, sizeof(buff),"%s", "Hello, World!" );
}
Siehe auch
Syntax der Formatspezifikation: printf- und wprintf-Funktionen
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l