Sdílet prostřednictvím


C6272

upozornění C6272: bez float předána jako argument <number> Při volání <function> vyžaduje float

Toto upozornění znamená řetězec formátu určuje, že Plovák je požadováno, například %f nebo %g specifikace pro printf, , avšak předána non plovoucí jako celé číslo nebo řetězec.Tato závada je pravděpodobně za následek nesprávné výstup; však za určitých okolností to může vést k selhání.

Příklad

Následující kód vygeneruje toto upozornění:

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

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

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

Chcete-li opravit toto upozornění, použijte %i namísto %f specifikaci, jak je znázorněno v následujícím kódu:

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

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

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

Následující kód používá funkci řetězec bezpečné manipulace s sprintf_s, opravit toto upozornění:

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

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

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

Viz také

Referenční dokumentace

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l