Предупреждение C6274
Без символа, передаваемого в качестве параметра "number", если в вызове функции требуется символ.
Замечания
Это предупреждение указывает, что строка формата указывает, что символ является обязательным (например, %c
%C
или спецификация), но не целочисленное число, например float, string или структуры, передается. Этот дефект, скорее всего, приведет к неправильному выводу.
Имя анализа кода: 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 Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по