Bonjour !
Dans mon programme, j'ouvre un fichier avec ifstream: ifstream fichier(chars,ios::in); et je fais la lecture du fichier caractère par caractère "fichier.get(caractere)".
Avec "caractere" déclarer comme un char.
Grâce à une boucle je parcours les caractères de ce fichier en faisant au passage des tests sur ses caractères.
Parmi ces tests je vérifie la nature de chacun des caractères. Pour cela j'ai utilisé la librairie "cctype (j'ai plustard réessayé avec ctype.h)".
J'ai donc utilisé les fonctions de cette librairie (: ispunct;isalpha;isdigit;...).
A la compilation tout ce passe bien, en plus j'ai essayé le code sur certains fichiers et les résultats étaient correctes.
Mais en faisant toujours des essaies, je suis tombé sur certains fichiers où le programme se bloc et où le débogueur m'écrit:Bien-sur il n'y à pas cette syntaxe (Expression: Debug Assertion
(unsigned(c+1)<=256.) dans mon code. Alors j'ai continué à chercher et c'est là que j'ai vu que l'erreur étais causé quand les caractères tels que "é" et "è" et "§" "enfin bref vous voyez le genre" se trouvent parmi les caractères du fichier.unsigned(c+1)<=256
J'aimerais vraiment comprendre ce qui ce passe avec le "cctype"? comment corriger ce probleme ; sinon il y a t'il une librairie du même genre que je pourrais utiliser.
Cordialement ....
Je suis sous "Visual Studio C++ 2008" --- "XP"
Partager