Compartilhar via


C6303

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

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

Exemplo

O exemplo de código a seguir gera este aviso:

#include <stdio.h>

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

  printf("%s", buff);
}

Para corrigir esse aviso, use %ls conforme mostrado no exemplo de código seguir:

#include <stdio.h>

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

  printf("%ls", buff);
}

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

#include <stdio.h>

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

  printf_s("%ls",buff);
}