C6064
Обновлен: Ноябрь 2007
C6064
Предупреждение C6064. Пропущен целочисленный аргумент <функция>, соответствующий спецификатору преобразования <номер>
Данное предупреждение указывает, что для соответствия строке формата не предоставлено достаточное количество аргументов; один из отсутствующих аргументов является целым числом. Эта ошибка может привести к неверным результатам.
Пример
В следующем коде в результате использования неверного количества аргументов при вызове функции sprintf создается данное предупреждение. Отсутствующий аргумент является целым числом.
#include <string.h>
void f( )
{
char buff[15];
char *string="Hello, World";
sprintf(buff,"%s %d", string);
}
Для устранения этого предупреждения укажите отсутствующие аргументы, как указано в следующем коде:
#include <string.h>
void f( )
{
char buff[15];
char *string = "Hello, World";
sprintf(buff,"%s %d",string, strlen(string));
}
В следующем коде для устранения этого предупреждения используется функция безопасной обработки строк sprintf_s:
#include <string.h>
void f( )
{
char buff[15];
char *string="Hello World";
sprintf_s(buff,sizeof(buff),"%s %d", string, strlen(string));
}