Sdílet prostřednictvím


C6064

upozornění C6064: chybějící argument celé číslo <function> odpovídající převod specifikátor <number>

Toto upozornění znamená, že nedostatek argumentů jsou poskytovány odpovídající řetězec formátu a jeden z argumentů chybí je celé číslo.Tato vada může způsobit nesprávný výstup.

Příklad

Následující kód vygeneruje tato upozornění, protože nesprávný počet argumentů, které byly použity při volání sprintf a chybějící argument byl celé číslo:

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

Chcete-li opravit toto upozornění zadejte chybí argumenty, jak je ukázáno v následujícím kódu:

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

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

Následující kód používá funkce bezpečné řetězce manipulace, sprintf_s opravit toto upozornění:

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

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

Viz také

Referenční dokumentace

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l