Partager via


C6274

Avertissement C6274 : valeur autre qu'un caractère passée comme paramètre <numéro> lorsqu'un caractère est requis dans l'appel à <fonction>

Cet avertissement indique que la chaîne de format spécifie qu'un caractère est requis (par exemple, une spécification %c ou %C), mais une valeur non entière, par exemple un float, une chaîne ou une structure, est passée.Ce défaut provoque une sortie incorrecte.

Exemple

Le code suivant génère cet avertissement :

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
    
   sprintf(buff,"%c",str);
}

Pour corriger cet avertissement, utilisez le code suivant :

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
 
   sprintf(buff,"%c",str[0]);
}

Le code suivant utilise la fonction de manipulation de chaîne sécurisée, sprintf_s, pour corriger cet avertissement :

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
  
   sprintf_s(buff,5,"%c", str[0]);
}