次の方法で共有


警告 C6272

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

解説

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

コード分析名: 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);
}

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

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

関連項目

書式指定構文: printf 関数と wprintf 関数
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
C4477