Предупреждение C6272

Не с плавающей запятой, передаваемой в качестве аргумента "number", если при вызове "function-name" требуется значение float.

Замечания

Это предупреждение указывает, что строка формата указывает, что требуется плавающая строка. Например, %f передается или %g спецификация, printfно не плавающая, например целое число или строка. Этот дефект может привести к сбоям в дополнение к потенциально неправильным выходным данным.

Имя анализа кода: NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION

Пример

Следующий код создает это предупреждение. %f указывает, что ожидается плавающее значение, но целое число i передается вместо этого:

void f()
{
     char buff[5];
     int i=5;
     sprintf_s(buff, sizeof(buff), "%s %f", "a", i);
}

Чтобы исправить это предупреждение, измените описатель формата или измените параметры, переданные функции. В этом примере мы исправим это предупреждение, используя %i вместо %fнего .

void f()
{
     char buff[5];
     int i=5;
     sprintf_s(buff, sizeof(buff), "%s %i", "a", i);
}

См. также

Синтаксис спецификации форматирования: функции printf и wprintf
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
C4477