C6054
avviso C6054: la stringa <variabile> non può terminare con zero
L'avviso indica che a una funzione che richiede una stringa che termina con zero è stata passata una stringa che non termina con zero.Una funzione che prevede una stringa che termina con zero supererà la fine del buffer alla ricerca dello zero.Questo errore potrebbe provocare un arresto anomalo o un errore di sovraccarico del buffer.Il programma dovrebbe accertarsi che la stringa termini con zero.
Esempio
Il codice seguente genera questo avviso:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g ( )
{
wchar_t wcArray[200];
func(wcArray); // Warning C6054
}
Per risolvere il problema, terminare wcArray con un valore null prima di chiamare la funzione func(), come illustrato nel seguente codice di esempio:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g( )
{
wchar_t wcArray[200];
wcArray[0]= '\0';
func(wcArray);
}