Share via


C6272

경고 C6272: float가 아닌 항목이 인수 <number>(으)로 전달되었습니다. <function>에 대한 호출에는 float가 필요합니다.

이 경고는 예를 들어 printf,에 대한 %f 또는 %g 사양처럼 형식 문자열에서 float가 필요하다고 지정하고 있지만 float가 아닌 정수나 문자열이 전달되고 있음을 나타냅니다. 이 오류로 인해 출력이 올바르지 않을 수 있지만 특정 환경에서는 충돌이 발생할 수 있습니다.

예제

다음 코드에서는 이 경고를 발생시킵니다.

#include <stdio.h>
#include <string.h>

void f()
{
   char buff[5];
   int i=5;

   sprintf(buff,"%s %f","a",i); 
}

이 경고를 해결하려면 다음 코드에서처럼 %f 사양 대신 %i를 사용합니다.

#include <stdio.h>
#include <string.h>

void f()
{
   char buff[5];
   int i=5;

   sprintf(buff,"%s %i","a",i);  
}

다음 코드에서는 이 경고를 해결하기 위해 안전한 문자열 조작 함수 sprintf_s를 사용합니다.

#include <stdio.h>
#include <string.h>

void f()
{
   char buff[5];
   int i=5;

   sprintf_s(buff,5,"%s %i","a",i); // safe version
}

참고 항목

참조

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l