C6303

Aviso C6303: incompatibilidade de cadeia de caracteres de formato: cadeia de caracteres larga passada como o parâmetro <número> quando a cadeia de caracteres é necessária na chamada para <função>

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

Exemplo

O código de exemplo 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 código de exemplo a seguir:

#include <stdio.h>

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

  printf("%ls", buff);
}

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

#include <stdio.h>

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

  printf_s("%ls",buff);
}