共用方式為


C6274

警告 C6274: 傳遞非字元做為參數 <number>,但 <function> 呼叫中需要字元

這則警告表示格式字串 (Format String) 指定需要字元 (例如,%c 或 %C 規格),但傳遞的是非整數 (例如浮點、字串或結構 (Struct))。 這項缺失可能會造成不正確的輸出。

範例

下列程式碼將產生出這個警告:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
    
   sprintf(buff,"%c",str);
}

若要更正這則警告,請使用下列程式碼:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
 
   sprintf(buff,"%c",str[0]);
}

下列程式碼會使用安全字串管理函式 sprintf_s,更正這則警告:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
  
   sprintf_s(buff,5,"%c", str[0]);
}