Share via


C6274

Advertencia C6274: Valor sin caracteres pasado como parámetro <número> cuando el carácter es necesario para llamar a <función>

Esta advertencia indica que la cadena de formato especifica que se requiere un carácter (por ejemplo, una especificación %c o %C ) pero se pasa un valor no entero, como un valor flotante, una cadena o un struct.Es probable que este defecto provoque un resultado incorrecto.

Ejemplo

El código siguiente genera esta advertencia:

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

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

Para corregir esta advertencia, utilice el código siguiente:

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

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

El código siguiente utiliza la función de manipulación de cadenas de caracteres segura, sprintf_s, para corregir esta advertencia:

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

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