경고 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