C6064C6064

avertissement C6064 : argument entier manquant pour <fonction > correspondant au spécificateur de conversion <nombre >warning C6064: missing integer argument to <function> corresponding to conversion specifier <number>

Cet avertissement indique que pas assez d’arguments est fournis pour faire correspondre une chaîne de format et un des arguments manquants est un entier.This warning indicates that not enough arguments are being provided to match a format string and one of the missing arguments is an integer. Ce problème peut entraîner un résultat incorrect.This defect can cause incorrect output.

ExempleExample

Le code suivant génère cet avertissement car un nombre incorrect d’arguments ont été utilisé dans l’appel à sprintf et l’argument manquant était un entier :The following code generates this warning because an incorrect number of arguments were used in call to sprintf and the missing argument was an integer:

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

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

Pour corriger cet avertissement, spécifiez les arguments manquants comme indiqué dans le code suivant :To correct this warning, specify missing arguments as shown in the following code:

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

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

Le code suivant utilise la fonction de manipulation de chaîne sécurisée, sprintf_s pour corriger cet avertissement :The following code uses safe string manipulation function, sprintf_s to correct this warning:

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

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

Voir aussiSee Also

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_lsprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l