C6303
upozornění C6303: Neshoda řetězec formátu: široký předaný jako parametr <number> řetězec znaků Při volání <function> vyžaduje řetězec znaků
Toto upozornění označuje formát řetězce určuje, že řetězec znaků je vyžadováno.Je však předáním řetězce znaků.Tato závada je pravděpodobně způsobí selhání nebo poškození některé formuláře.
Příklad
Následující ukázkový kód generuje toto upozornění:
#include <stdio.h>
void f()
{
wchar_t buff[5] = L"hi";
printf("%s", buff);
}
Chcete-li opravit toto upozornění, použijte %ls jak je znázorněno v následujícím ukázkovém kódu:
#include <stdio.h>
void f()
{
wchar_t buff[5] = L"hi";
printf("%ls", buff);
}
Následující ukázkový kód používá funkci řetězec bezpečné manipulace s printf_s opravit toto upozornění:
#include <stdio.h>
void f()
{
wchar_t buff[5] = L"hi";
printf_s("%ls",buff);
}