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


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));
}

См. также

Ссылки

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l