C6274

Aviso C6274: caracteres não é passado como o parâmetro <number> Quando o caractere é necessária na chamada para <function>

Este aviso indica que a seqüência de caracteres de formato Especifica que um caractere é necessário (por exemplo, um %c ou %C especificação), mas está sendo passado um fracionados como, por exemplo, um float, seqüência ou struct. Esse defeito é a probabilidade de causar saída incorreta.

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]);
}

O código a seguir usa a função de manipulação de cadeia de caracteres seguras, sprintf_s, para corrigir este aviso:

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

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