다음을 통해 공유


C6063

경고 C6063: 변환 지정자 <number>에 해당하는, <function>에 대한 문자열 인수가 없습니다.

이 경고는 형식 문자열에 맞는 충분한 인수가 전달되지 않았음을 나타냅니다. 즉, 누락된 인수 중 적어도 하나가 문자열입니다. 이 오류는 잘못된 출력뿐 아니라 충돌 및 버퍼 오버플로(호출된 함수가 sprintf 패밀리인 경우)를 발생시킬 수 있습니다.

예제

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

#include <string.h>
void f( )
{
  char buff[15];
  sprintf(buff, "%s %s", "Hello, World!");
}

이 경고를 해결하려면 다음 코드에서처럼 추가 인수를 제공합니다.

#include <string.h>
void f( )
{
  char buff[15];
  sprintf(buff, "%s %s ", "Hello","World");
}

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

#include <string.h>
void f( )
{
  char buff[15];
  sprintf_s( buff, sizeof(buff),"%s", "Hello, World!" );
}

참고 항목

참조

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l