C6302

Aktualisiert: November 2007

C6302

Warnung C6302: Formatzeichenfolgen stimmen nicht überein: Eine Zeichenfolge wurde als <Nummer>-Parameter übergeben. Im Aufruf von <Funktion> ist jedoch eine Zeichenfolge mit Breitzeichen erforderlich.

Diese Warnung gibt an, dass entsprechend der Angabe in der Formatzeichenfolge eine Zeichenfolge mit Breitzeichen erforderlich ist. Es wird jedoch eine Zeichenfolge übergeben. Dieser Fehler kann zu einem Absturz oder einer Beschädigung führen.

Beispiel

Im folgenden Beispielcode wird diese Warnung generiert, da eine Zeichenfolge an die wprintf-Funktion übergeben wird:

#include<stdio.h>

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

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

Im folgenden Beispielcode wird mit %hs eine Einzelbyte-Zeichenfolge mit der wprintf-Funktion angegeben:

#include<stdio.h>

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

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

Im folgenden Beispielcode wird die Funktion zur sicheren Zeichenfolgenbearbeitung, wprintf_s, verwendet, um diese Warnung zu korrigieren:

#include<stdio.h>

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

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