Warnung C6274
Nicht als Parameter 'number' übergebenes Zeichen, wenn das Zeichen im Aufruf von 'function' erforderlich ist
Hinweise
Diese Warnung gibt an, dass die Formatzeichenfolge angibt, dass ein Zeichen erforderlich ist (z. B. eine %c
oder %C
eine Spezifikation), aber eine nicht ganze Zahl, z. B. eine Float-, Zeichenfolge oder Struktur, übergeben wird. Dieser Fehler verursacht wahrscheinlich eine falsche Ausgabe.
Codeanalysename: NON_CHAR_ARGUMENT_TO_FORMAT_FUNCTION
Beispiel
Der folgende Code generiert diese Warnung:
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str);
}
So korrigieren Sie die Warnung unter Verwendung des folgenden Codes
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str[0]);
}
Der folgende Code verwendet die Funktion für sichere Zeichenfolgenmanipulation, sprintf_s
um diese Warnung zu korrigieren:
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf_s(buff,5,"%c", str[0]);
}
Syntax der Formatspezifikation: printf- und wprintf-Funktionen
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
C4477
C4313