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


C6063

Предупреждение C6063: отсутствует строковый аргумент для <функция>, соответствующий описателю преобразования <номер>

Данное предупреждение указывает, что для соответствия строке формата не предоставлено достаточное количество аргументов; по крайней мере один из отсутствующих аргументов является строкой. Данная неполадка может приводить к сбоям и переполнениям буфера (если вызываемая функция принадлежит семейству sprintf), а также к потенциальным ошибкам в выходных данных.

Пример

Данное предупреждение создается следующим кодом:

#include <string.h>
void f( )
{
  char buff[15];
  sprintf(buff, "%s %s", "Hello, World!");
}

Для устранения этого предупреждения предоставьте дополнительные аргументы, как указано в следующем коде:

#include <string.h>
void f( )
{
  char buff[15];
  sprintf(buff, "%s %s ", "Hello","World");
}

В следующем коде предупреждение устраняется с помощью безопасной функции управления строками:

#include <string.h>
void f( )
{
  char buff[15];
  sprintf_s( buff, sizeof(buff),"%s", "Hello, World!" );
}

См. также

Ссылки

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l