경고 C6272

'function-name'을 호출할 때 float가 필요한 경우 인수 'number'로 전달되는 부동 소수 자릿수가 아닌 경우

설명

이 경고는 형식 문자열이 float가 필요했음을 지정한다는 것을 나타냅니다. 예를 들어 %f 정수 또는 문자열과 같은 부동 소수점이 아닌 부동 소수점이 전달되는 경우를 예로 들어 있습니다 %gprintf. 이 결함으로 인해 잠재적으로 잘못된 출력 외에도 충돌이 발생할 수 있습니다.

코드 분석 이름: NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION

예시

다음 코드는 이 경고를 생성합니다. %f 는 부동 소수점이 필요하지만 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