Je veux avoir un tableau de l’alphabet grec et voici ce que je fais:
wchar_t pcletters[30] = {'α' , 'ά' , 'β' , 'γ' , 'δ' , 'ε' , 'ζ' , 'η', 'θ' , 'ι' , 'κ' , 'λ' , 'μ' , 'ν','ξ' , 'ο' , 'π' , 'ρ' , 'σ' , 'τ' , 'υ' , 'φ' , 'χ' , 'ψ' , 'ω', 'έ' , 'ή' , 'ί' , 'ό' , 'ύ' , 'ώ'} ;
aussi
et ai une ligne
setlocale(LC_CTYPE, "") .
Cependant, je reçois un avertissement: constante de caractère multi-caractères [-Wmultichar]. De plus quand je peux vérifier si l’une de ces lettres est dans une entrée utilisateur en faisant:
if (userword[i] == pcletters[j]) {//do stuff}
Ça n’a pas l’air de marcher. -Pourquoi je reçois cet avertissement? -Y at-il un moyen de changer pcletters de manière à pouvoir comparer le userword[i] == pcletters[j]
Remarque: userword
est défini comme suit: wchar_t userword[40]
.
Utilisez des littéraux de caractères larges:
wchar_t pcletters[30] = {L'α' , ... ^
Notez que cela ne fonctionnera que sur les plates-formes où les lettres que vous écrivez sont un seul caractère large. cela devrait fonctionner sous Windows, où wchar_t
est UCS-2.