C6272
Предупреждение C6272: передан параметр <номер>, не являющийся аргументом с плавающей запятой, тогда как в вызове <функции> требуется аргумент с плавающей запятой.
Данное предупреждение означает, что строка формата указывает на необходимость значения с плавающей запятой, например спецификации %f или %g для метода printf, однако передан аргумент другого типа, такой как целое число или строка. Эта неполадка, скорее всего, приведет к ошибке вывода; однако в некоторых случаях она может вызвать сбой.
Пример
Данное предупреждение создается в следующем коде:
#include <stdio.h>
#include <string.h>
void f()
{
char buff[5];
int i=5;
sprintf(buff,"%s %f","a",i);
}
Для устранения этого предупреждения используйте вместо спецификации %f спецификацию %i, как показано в следующем коде:
#include <stdio.h>
#include <string.h>
void f()
{
char buff[5];
int i=5;
sprintf(buff,"%s %i","a",i);
}
В следующем фрагменте кода для устранения этого предупреждения используется функция безопасной обработки строк sprintf_s:
#include <stdio.h>
#include <string.h>
void f()
{
char buff[5];
int i=5;
sprintf_s(buff,5,"%s %i","a",i); // safe version
}