Sdílet prostřednictvím


C6274

upozornění C6274: bez znaku předaný jako parametr <number> Při volání <function> vyžaduje znak

Toto upozornění označuje formát řetězce určuje, že znak, je nutné (například %c nebo %C specifikace), avšak předána jiné než celočíselné jako plovoucí, řetězec nebo struct.Tato vada je může způsobit nesprávný výstup.

Příklad

Následující kód vygeneruje toto upozornění:

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

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

Chcete-li opravit toto upozornění, použijte následující kód:

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

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

Následující kód používá funkce bezpečné řetězce manipulace, sprintf_s, opravit toto upozornění:

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

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