C6064
警告 C6064:缺少 <function> 的整型参数(对应于转换说明符 <number>)
此警告意味着未提供与格式字符串匹配的足够参数,其中缺少一个整数参数。 此缺陷可能导致错误的输出。
示例
在下面的代码中,因为在对 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));
}