Freigeben über


C6064

C6064

Warnung C6064: Fehlendes Ganzzahlargument für <Funktion> entsprechend dem Konvertierungsspezifizierer <Nummer>

Dieses Warnung weist darauf hin, dass nicht genügend Argumente für eine Übereinstimmung mit einer Formatzeichenfolge bereitgestellt werden und eines der fehlenden Argumente eine ganze Zahl ist. Dieser Fehler kann eine falsche Ausgabe verursachen.

Beispiel

Im folgenden Code wird diese Warnung generiert, da beim Aufrufen von sprintf eine falsche Anzahl von Argumenten verwendet wurde und das fehlende Argument eine ganze Zahl war:

#include <string.h>
void f( )
{
  char buff[15];
  char *string="Hello, World";
  
  sprintf(buff,"%s %d", string);
}

Um diese Warnung zu korrigieren, geben Sie die fehlenden Argumente an, wie im folgenden Code gezeigt:

#include <string.h>
void f( )
{
  char buff[15];
  char *string = "Hello, World";

  sprintf(buff,"%s %d",string, strlen(string));
}

Im folgenden Code wird die Funktion zur sicheren Zeichenfolgenbearbeitung, sprintf_s, verwendet, um diese Warnung zu korrigieren:

#include <string.h>
void f( )
{
  char buff[15];
  char *string="Hello World";

  sprintf_s(buff,sizeof(buff),"%s %d", string, strlen(string));
}

Siehe auch

Referenz

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l