Предупреждение 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по