Partilhar via


C6302

Aviso C6302: incompatibilidade de seqüência de caracteres de formato: série de caracteres passada como parâmetro <number> Quando a cadeia de caracteres largos é necessária na chamada para <function>

Este aviso indica que a seqüência de caracteres de formato Especifica que uma seqüência de caracteres ampla é necessária.No entanto, uma seqüência de caracteres está sendo passada.Esse defeito é a probabilidade de causar uma falha ou corrupção de alguma forma.

Exemplo

O exemplo de código a seguir gera este aviso porque uma seqüência de caracteres é passada para wprintf função:

#include<stdio.h>

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

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

O seguinte exemplo de código usa %hs para especificar uma seqüência de caracteres de byte único com wprintf função:

#include<stdio.h>

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

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

O exemplo de código a seguir usa a função de manipulação de cadeia de caracteres seguras wprintf_s para corrigir esse aviso:

#include<stdio.h>

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

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