다음을 통해 공유


C6274

경고 C6274: 문자가 아닌 항목이 매개 변수 <number>(으)로 전달되었습니다. <function>에 대한 호출에는 문자가 필요합니다.

이 경고는 형식 문자열에서 %c 또는 %C 사양과 같은 문자가 필요하다고 지정하고 있지만 float, string 또는 struct와 같이 정수가 아닌 항목이 전달되고 있음을 나타냅니다.이 오류로 인해 출력이 올바르지 않을 수 있습니다.

예제

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

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
    
   sprintf(buff,"%c",str);
}

이 경고를 해결하려면 다음 코드를 사용합니다.

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
 
   sprintf(buff,"%c",str[0]);
}

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

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
  
   sprintf_s(buff,5,"%c", str[0]);
}