Поделиться через


C6272

Обновлен: Ноябрь 2007

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
}

См. также

Ссылки

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l