Compartilhar via


C6272

Aviso C6272: float não são passadas sistema autônomo argumento <number>quando float é necessária na telefonar para <função>

Este aviso indica que a seqüência de caracteres de formato Especifica que uma float é necessária, por exemplo, um %f ou %g especificação para printf, mas uma não-float sistema autônomo um número inteiro ou seqüência de caracteres está sendo passada. Esse defeito tem probabilidade de gerar saída incorreta; no entanto, em determinadas circunstâncias-lo pode resultar em uma falhar.

Exemplo

O código a seguir gera este aviso:

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

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

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

Para corrigir esse aviso, use %i em vez de %f especificação de sistema autônomo mostra o código a seguir:

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

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

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

O código a seguir usa a função de manipulação de seqüência segura, sprintf_s, para corrigir este aviso:

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

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

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

Consulte também

Referência

sprintf _sprintf_l swprintf, _swprintf_l, __swprintf_l