Compartilhar via


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