Partager via


C6303

Avertissement C6303 : Incompatibilité de chaîne de format : une chaîne à caractères larges est passée comme paramètre <numéro> lorsqu'une chaîne de caractères est requise dans l'appel à <fonction>

Cet avertissement indique que la chaîne de format spécifie qu'une chaîne de caractères est requise.Toutefois, une chaîne à caractères larges est passée.Ce défaut risque de provoquer un blocage ou une altération, sous une forme quelconque.

Exemple

L'exemple de code suivant génère cet avertissement :

#include <stdio.h>

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

  printf("%s", buff);
}

Pour corriger cet avertissement, utilisez %ls comme indiqué dans l'exemple de code suivant :

#include <stdio.h>

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

  printf("%ls", buff);
}

L'exemple de code suivant utilise la fonction de manipulation de chaîne sécurisée printf_s pour corriger cet avertissement :

#include <stdio.h>

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

  printf_s("%ls",buff);
}