C6274C6274

avertissement C6274 : un caractère passée comme paramètre <nombre > lorsqu’un caractère est requis dans l’appel à <fonction >warning C6274: non-character passed as parameter <number> when character is required in call to <function>

Cet avertissement indique que la chaîne de format Spécifie qu’un caractère est requis (par exemple, un %c ou %C spécification), mais une valeur non entière tel qu’un float, une chaîne ou un struct est passée.This warning indicates that the format string specifies that a character is required (for example, a %c or %C specification) but a non-integer such as a float, string, or struct is being passed. Ce problème est susceptible de provoquer un résultat incorrect.This defect is likely to cause incorrect output.

ExempleExample

Le code suivant génère cet avertissement :The following code generates this warning:

#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 :To correct this warning, use the following code:

#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 :The following code uses safe string manipulation function, sprintf_s, to correct this warning:

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

void f(char str[])
{
   char buff[5];

   sprintf_s(buff,5,"%c", str[0]);
}