경고 C6272
'function-name'을 호출할 때 float가 필요한 경우 인수 'number'로 전달되는 부동 소수 자릿수가 아닌 경우
설명
이 경고는 형식 문자열이 float가 필요했음을 지정한다는 것을 나타냅니다. 예를 들어 %f
정수 또는 문자열과 같은 부동 소수점이 아닌 부동 소수점이 전달되는 경우를 예로 들어 있습니다 %g
printf
. 이 결함으로 인해 잠재적으로 잘못된 출력 외에도 충돌이 발생할 수 있습니다.
코드 분석 이름: 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
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기