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
}