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);
}