Condividi tramite


C6064

avviso C6064: manca l'argomento integer per <funzione> corrispondente all'identificatore di conversione <numero>

L'avviso indica che non vengono forniti argomenti sufficienti per creare una corrispondenza con una stringa di formato e uno degli argomenti mancanti è un integer. L'errore può provocare un output non corretto.

Esempio

Il codice riportato di seguito genera questo avviso in quanto è stato utilizzato un numero di argomenti non corretto nella chiamata a sprintf e l'argomento mancante era un integer:

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

Per risolvere il problema, specificare gli argomenti mancanti come illustrato nel codice seguente:

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

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

Per risolvere il problema, nel codice seguente viene utilizzata la funzione protetta di modifica delle stringhe, sprintf_s:

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

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

Vedere anche

Riferimenti

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l