경고 C6274
'function'을 호출할 때 문자가 필요한 경우 'number' 매개 변수로 전달되지 않는 문자
설명
이 경고는 형식 문자열이 문자(예: a %c
또는 %C
사양)가 필요하지만 부동 소수점, 문자열 또는 구조체와 같은 정수가 아닌 문자가 전달되도록 지정한다는 것을 나타냅니다. 이 결함으로 인해 잘못된 출력이 발생할 수 있습니다.
코드 분석 이름: NON_CHAR_ARGUMENT_TO_FORMAT_FUNCTION
예시
다음 코드는 이 경고를 생성합니다.
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str);
}
이 경고를 수정하려면 다음 코드를 사용합니다.
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str[0]);
}
다음 코드는 안전한 문자열 조작 함수 sprintf_s
를 사용하여 이 경고를 수정합니다.
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf_s(buff,5,"%c", str[0]);
}
형식 사양 구문: printf 및 wprintf 함수
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
C4477
C4313
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기