Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

C6302

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

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

L'exemple de code suivant génère cet avertissement car une chaîne de caractères est passée à la fonction wprintf :

#include<stdio.h>

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

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

L'exemple de code suivant utilise %hs pour spécifier une chaîne de caractères codés sur un seul octet avec la fonction wprintf :

#include<stdio.h>

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

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

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

#include<stdio.h>

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

  wprintf_s(L"%hs", buff);
}
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.