警告 C6272

'function-name' の呼び出しで float が必要な場合、引数 'number' として渡される非 float

解説

この警告は、書式指定文字列で float が必要であることを示します。 たとえば、printf%fまたは%g指定ですが、整数や文字列などの非浮動小数点が渡されています。 この欠陥が原因で、出力が正しくなくなる可能性に加えて、クラッシュする可能性もあります。

コード分析名: NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION

この警告が発生するコード例を次に示します。 %f は float が必要ですが、代わりに整数 i が渡されていることを示します。

void f()
{
     char buff[5];
     int i=5;
     sprintf_s(buff, sizeof(buff), "%s %f", "a", i);
}

この警告を修正するには、書式指定子を変更するか、関数に渡されるパラメーターを変更します。 この例では、%fではなく%iを使用して、この警告を修正します。

void f()
{
     char buff[5];
     int i=5;
     sprintf_s(buff, sizeof(buff), "%s %i", "a", i);
}

関連項目

書式指定構文: printf 関数と wprintf 関数
sprintf_sprintf_lswprintf_swprintf_l__swprintf_l
sprintf_s_sprintf_s_lswprintf_s_swprintf_s_l
C4477