次の方法で共有


C6274

警告 C6274: 文字でない値が引数 <数値> として渡されました。<関数> への呼び出しには文字が必要です

この警告は、書式指定文字列では 1 文字が必要なことが指定されている (たとえば %c や %C などが指定されている) にもかかわらず、浮動小数点型、文字列、構造体などの整数でない値が渡されることを示します。 この問題により、不適切な出力が生じる可能性があります。

使用例

この警告が発生するコード例を次に示します。

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