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