경고 C6063

변환 지정자 'number'에 해당하는 'function'에 대한 문자열 인수가 없습니다.

설명

이 경고는 형식 문자열과 일치하는 인수가 충분하지 않음을 나타냅니다. 누락된 인수 중 하나 이상이 문자열입니다. 이 결함으로 인해 크래시 및 버퍼 오버플로(호출된 함수가 제품군인 sprintf 경우)와 잠재적으로 잘못된 출력이 발생할 수 있습니다.

코드 분석 이름: MISSING_STRING_ARGUMENT_TO_FORMAT_FUNCTION

예시

다음 코드는 이 경고를 생성합니다.

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

이 경고를 해결하려면 사용하지 않는 형식 지정자를 제거하거나 다음 코드와 같이 필요한 인수를 제공합니다.

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

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

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

참고 항목

형식 사양 구문: printf 및 wprintf 함수
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l