Condividi tramite


C6274

Aggiornamento: novembre 2007

C6274

avviso C6274: non carattere passato come parametro <numero> mentre nella chiamata a <funzione> è richiesto un carattere

L'avviso indica che nella stringa di formato è specificato che è richiesto un carattere, ad esempio una specifica %c o %C, ma è stato passato un valore diverso da integer, ad esempio un valore float, una struttura o una stringa. È probabile che l'errore provochi un output non corretto.

Esempio

Il codice seguente genera questo avviso:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
    
   sprintf(buff,"%c",str);
}

Per risolvere il problema, utilizzare il codice seguente:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
 
   sprintf(buff,"%c",str[0]);
}

Per risolvere il problema, nel codice seguente viene utilizzata la funzione protetta di modifica delle stringhe, sprintf_s:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
  
   sprintf_s(buff,5,"%c", str[0]);
}