Compartir a través de


C6064

Actualización: noviembre 2007

C6064

Advertencia C6064: Falta el argumento de entero de <función> correspondiente al especificador de conversión <número>

Esta advertencia indica que no se proporcionaron argumentos suficientes para una cadena de formato y que uno de los argumentos que faltan es un entero. Este defecto puede provocar resultados incorrectos.

Ejemplo

El código siguiente genera esta advertencia porque se utilizó un número de argumentos incorrecto en la llamada a sprintf y el argumento que falta era un entero:

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

Para corregir esta advertencia, especifique los argumentos que faltan, como se muestra en el código siguiente:

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

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

El código siguiente utiliza la función de manipulación de cadenas de caracteres segura, sprintf_s, para corregir esta advertencia:

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

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

Vea también

Referencia

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l