Sdílet prostřednictvím


C6302

upozornění C6302: Neshoda řetězec formátu: jako parametr <number> byl předán ř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ězec 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 tato upozornění, protože je předán řetězec znaků wprintf funkce:

#include<stdio.h>

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

  wprintf(L"%s", buff);
}

Následující ukázkový kód používá %hs určit jednobajtové znakové řetězce s wprintf funkce:

#include<stdio.h>

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

  wprintf(L"%hs", buff);
}

Následující ukázkový kód používá funkci řetězec bezpečné manipulace s wprintf_s opravit toto upozornění:

#include<stdio.h>

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

  wprintf_s(L"%hs", buff);
}