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);
}