Partager via


C6064

Avertissement C6064 : argument entier manquant pour <fonction> correspondant au spécificateur de conversion <numéro>

Cet avertissement indique qu'un nombre insuffisant d'arguments a été fourni pour correspondre à une chaîne de format, et l'un des arguments manquants est un entier.Ce défaut peut générer une sortie incorrecte.

Exemple

Le code suivant génère cet avertissement car un nombre d'arguments incorrect a été utilisé dans l'appel à sprintf, et l'argument manquant était un entier :

#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 :

#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 :

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

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

Voir aussi

Référence

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l