Aracılığıyla paylaş


C6302

C6302 Uyarı: biçim dizesi uyuşmazlığı: karakter dizesi <number> parametre olarak geçildi geniş karakter dizesi <function> çağrısına ne zaman gereklidir

Bu uyarı, biçim dizesi geniş karakter dizesi gerekli olduğunu belirtir gösterir.Ancak, bir karakter dizesi geçirilir.Bu büyük bir olasılıkla bir kilitlenme veya bozulması bazı formunun neden bozukluğudur.

Örnek

Aşağıdaki örnek kodu için karakter dizesi geçtiğinden bu uyarı üretir wprintf işlevi:

#include<stdio.h>

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

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

Aşağıdaki örnek kodu kullanır %hs bir tek baytlık karakter dizesiyle belirtmek için wprintf işlevi:

#include<stdio.h>

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

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

Aşağıdaki örnek kodu güvenli dize işleme işlevini kullanan wprintf_s bu uyarıyı düzeltmek için:

#include<stdio.h>

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

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