Freigeben über


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_sum 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