Partilhar via


C6302

C6302 de aviso: incompatibilidade de cadeia de caracteres de formato: cadeia de caracteres passada como o número do parâmetro> <quando a cadeia de caracteres larga seja necessária na chamada <para funcionar>

Esse aviso indicar que a cadeia de caracteres de formato que especifica uma cadeia de caracteres larga é necessária.Porém, uma cadeia de caracteres está sendo passada.Este defeito provavelmente causar uma falha ou um dano de alguma forma.

Exemplo

O código de exemplo a seguir gerenciar esse aviso como uma cadeia de caracteres é passada para a função de wprintf :

#include<stdio.h>

void f()
{
  char buff[5] = "hi";

  wprintf(L"%s", buff);
}

Os seguintes usos de exemplo %hs de código especificar uma cadeia de caracteres de byte único com a função de wprintf :

#include<stdio.h>

void f()
{
  char buff[5] = "hi";

  wprintf(L"%hs", buff);
}

A função segura wprintf_s de manipulação de cadeia de caracteres dos seguintes código de exemplo usa para corrigir esse aviso:

#include<stdio.h>

void f()
{
  char buff[5] = "hi";

  wprintf_s(L"%hs", buff);
}