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

C6400

avertissement C6400 : Utilisation de <NomFonction> en vue d'effectuer une comparaison ne tenant pas compte de la casse avec la chaîne constante <NomChaîne>. Donne des résultats inattendus avec les paramètres régionaux autres que l'anglais

Cet avertissement indique qu'une comparaison ne respectant pas la casse et dépendante des paramètres régionaux est effectuée avec une chaîne constante, alors qu'une comparaison indépendante des paramètres régionaux était apparemment prévue.

La conséquence classique de ce défaut est un comportement incorrect des paramètres régionaux autres que l'anglais. Par exemple, ".gif" ne correspond pas à ".GIF" en turc ; "LogIn" ne correspond pas à "LOGIN" en vietnamien.

En général, les comparaisons de chaînes doivent être exécutées à l'aide de la fonction CompareString. Pour effectuer une comparaison indépendante des paramètres régionaux sur Windows XP, le premier paramètre doit correspondre à la constante LOCALE_INVARIANT.

Le code suivant génère cet avertissement :

#include <windows.h>
int f(char *ext)
{
  // code...
  return (lstrcmpi(ext, TEXT("gif")) == 0);
}

Pour corriger cet avertissement, exécutez un test indépendant des paramètres régionaux pour déterminer si char *ext correspond à "gif" en ignorant les différences de casse entre les majuscules et les minuscules, à l'aide du code suivant :

#include <windows.h>
int f(char *ext)
{
  // code...
  return (CompareString(
                        LOCALE_INVARIANT,
                        NORM_IGNORECASE, 
                        ext,
                        -1,
                        TEXT ("gif"),
                        -1) == CSTR_EQUAL);
}
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.