Partilhar via


C6302

Aviso C6302: incompatibilidade de seqüência de caracteres de formato: seqüência 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 de largura necessária. No entanto, uma seqüência de caracteres está sendo passada. Esse defeito é a probabilidade de causar uma pane ou uma corrupção de alguma forma.

Exemplo

O exemplo de código a seguir gera este aviso porque uma seqüência de caracteres é transmitida 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 este aviso:

#include<stdio.h>

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

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