Constant out of range

Rionirind Messages postés 26 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 8 juillet 2011 - 1 avril 2011 à 14:00
Rionirind Messages postés 26 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 8 juillet 2011 - 1 avril 2011 à 15:49
Bonjour à tous,

J'ai une variable AnsiString ChaineTestee dont je teste les différents caractères avec les codes ascii pour éjecter les "symboles spéciaux" :
if ((ChaineTestee[i] >32) || /* plusieurs autres conditions */ || (ChaineTestee[i] < 216))
(resultat = false;)


Mon soucis est qu'à partir du code ascii 128, j'ai le warning suivant :
"Constant out of range in comparaison".

Si le type AnsiString est composé de char (1 octet) donc je devrais donc pouvoir aller jusqu'à 255? Je ne comprends pas.

Est ce que quelqu'un peut m'aider?
Merci par avance.

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
1 avril 2011 à 15:19
Si c'est un "char" alors, c'est un "signed char", donc -127 à 128
Si c'est un "unsigned char", alors 0 à 255

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
Rionirind Messages postés 26 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 8 juillet 2011
1 avril 2011 à 15:49
Merci pour ta réponse.

En effet, j'avais pas pris en compte que le AnsiString est en signed par défaut.
Par contre du coup je ne trouve pas la syntaxe cous C++ builder pour l'initialiser en unsigned. Existe-t'il une synthaxe ou doit-on obligatoirement passer par un pointeur?
0
Rejoignez-nous