C6274
Aviso C6274: não caractere passado como parâmetro <número> quando caractere é necessário na chamada para <função>
Esse aviso indicar que a cadeia de formato especificar que um caractere é necessário (por exemplo, %c ou uma especificação de %C ) mas não um inteiro como um float, uma cadeia de caracteres, ou uma estrutura está sendo passado.Este defeito é prováveis que causam saída incorretas.
Exemplo
O código a seguir gera este aviso:
#include <stdio.h>
#include <string.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str);
}
Para corrigir esse aviso, use o seguinte código:
#include <stdio.h>
#include <string.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str[0]);
}
A função segura de manipulação de cadeia de caracteres dos seguintes usos de código, sprintf_s, para corrigir esse aviso:
#include <stdio.h>
#include <string.h>
void f(char str[])
{
char buff[5];
sprintf_s(buff,5,"%c", str[0]);
}