Avviso C6274
Carattere non passato come parametro 'number' quando il carattere è necessario nella chiamata a 'function'
Osservazioni:
Questo avviso indica che la stringa di formato specifica che è necessario un carattere ,ad esempio una %c
specifica o %C
, ma un valore non integer, ad esempio float, string o struct viene passato. Questo difetto potrebbe causare un output non corretto.
Nome dell'analisi del codice: NON_CHAR_ARGUMENT_TO_FORMAT_FUNCTION
Esempio
Il codice seguente genera questo avviso:
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str);
}
Per correggere questo avviso, usare il codice seguente:
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf(buff,"%c",str[0]);
}
Il codice seguente usa la funzione di manipolazione delle stringhe sicura, sprintf_s
, per correggere questo avviso:
#include <stdio.h>
void f(char str[])
{
char buff[5];
sprintf_s(buff,5,"%c", str[0]);
}
Sintassi della specifica del formato: funzioni printf e wprintf
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
C4477
C4313
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per