C6064
경고 C6064: 변환 지정자 <number>에 해당하는, <function>에 대한 정수 인수가 없습니다.
이 경고는 형식 문자열에 맞는 충분한 인수가 전달되지 않았으며 누락된 인수 중 하나가 정수임을 나타냅니다. 이 오류로 인해 출력이 잘못될 수 있습니다.
예제
다음 코드에서는 sprintf 호출에 사용된 인수 개수가 잘못되었고 누락된 인수가 정수이기 때문에 이 경고가 생성됩니다.
#include <string.h>
void f( )
{
char buff[15];
char *string="Hello, World";
sprintf(buff,"%s %d", string);
}
이 경고를 해결하려면 다음 코드에서처럼 누락된 인수를 지정합니다.
#include <string.h>
void f( )
{
char buff[15];
char *string = "Hello, World";
sprintf(buff,"%s %d",string, strlen(string));
}
다음 코드에서는 안전한 문자열 조작 함수 sprintf_s를 사용하여 이 경고를 해결합니다.
#include <string.h>
void f( )
{
char buff[15];
char *string="Hello World";
sprintf_s(buff,sizeof(buff),"%s %d", string, strlen(string));
}