Compartir a través de


C6272

advertencia C6272: Valor no flotante pasado como argumento <número> cuando el valor flotante es necesario para llamar a <función>

Esta advertencia indica que la cadena de formato especifica que se requiere un valor flotante, por ejemplo, una especificación %f o %g para printf,, pero se pasa un valor no flotante, como un entero o una cadena.Es probable que este defecto produzca un resultado incorrecto; sin embargo, en algunas circunstancias podría producir un bloqueo.

Ejemplo

El código siguiente genera esta advertencia:

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

void f()
{
   char buff[5];
   int i=5;

   sprintf(buff,"%s %f","a",i); 
}

Para corregir esta advertencia, utilice %i en lugar de %f, como se muestra en el código siguiente:

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

void f()
{
   char buff[5];
   int i=5;

   sprintf(buff,"%s %i","a",i);  
}

El código de ejemplo 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 buff[5];
   int i=5;

   sprintf_s(buff,5,"%s %i","a",i); // safe version
}

Vea también

Referencia

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l