C6064
更新:2007 年 11 月
警告 C6064: 遺漏 <function> 的整數引數 (與轉換規範 <number> 對照)
這個警告表示提供的引數不足,無法符合格式字串 (Format String),且其中一個遺漏的引數是整數。這項缺失會造成不正確的輸出。
範例
下列程式碼會因為 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));
}