C6274
Ostrzeżenie C6274: przekazano jako parametr liczbę, która nie jest wartością znakową <number> gdy jest wymagany znak, w wywołaniu <function>
To ostrzeżenie wskazuje, że ciąg formatujący określa, że znak jest wymagany (na przykład specyfikacja %c lub %C), ale liczba niecałkowita taka jak wartość float, ciąg znaków lub struktura zostały przekazane.Ta wada może spowodować niepoprawne dane wyjściowe.
Przykład
Poniższy kod generuje to ostrzeżenie:
#include <stdio.h>
#include <string.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str);
}
Aby poprawić to ostrzeżenie, należy użyć następującego kodu:
#include <stdio.h>
#include <string.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str[0]);
}
Następujący kod używa bezpiecznej funkcji manipulacji ciągiem sprintf_s, aby poprawić to ostrzeżenie:
#include <stdio.h>
#include <string.h>
void f(char str[])
{
char buff[5];
sprintf_s(buff,5,"%c", str[0]);
}