C6063

更新:2007 年 11 月

警告 C6063:缺少 <function> 的字符串参数(对应于转换说明符 <number>)

此警告意味着未提供与格式字符串匹配的足够参数;至少缺少了一个字符串参数。此缺陷可能导致系统崩溃和缓冲区溢出(如果被调用的函数属于 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