경고 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
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기