共用方式為


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

請參閱

參考

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l