Salut,
en fait pour commencer (il me semble que tu es sous linux), dans un terminal tu fais :
Cela va te donner l'encodage utilisé pour les saisies. Si tu as
UTF-8, tu vas te retrouver avec certains caractères (=1 symbole affiché) codé sur plusieurs octets (=char en c, la confusion commence). Si tu as
ISO8859, tu es sûr d'avoir tous tes caractères encodés avec un octet (dans ce cas 1 symbole=1 char).
Dans le premier cas tu ne pourras jamais écrire
car tu essayes de mettre plus d'un octet dans une variable qui ne peut en contenir qu'un. Dans le second cas il n'y aura pas de problèmes.
C avec les fonctions de bases (strXXX) ne fonctionne vraiment bien qu'avec le second cas et totalement bien avec un encodage ASCII-US (il a été "prévu pour").
N'oublie pas de tester que le paramètre n'est pas NULL avant de commencer le traitement. Tu peux utiliser les fonctionnalités
isalpha, islower, isupper pour savoir à quel genre de caractère tu as à faire.
Partager