Freigeben über


C6303

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

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

Beispiel

Im folgenden Beispielcode wird diese Warnung generiert:

#include <stdio.h>

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

  printf("%s", buff);
}

Um diese Warnung zu korrigieren, verwenden Sie %ls, wie im folgenden Code dargestellt:

#include <stdio.h>

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

  printf("%ls", buff);
}

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

#include <stdio.h>

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

  printf_s("%ls",buff);
}