dans Delphi existe une fonction appelée ord code> qui retourne la valeur ordinale d'une expression de type ordinal. p>
Par exemple, vous pouvez récupérer la valeur ASCII pour un caractère de cette manière p>
ORD ('A') Retour 65 P>
ORD ('A') Retour 97 P>
en C ++ Quelle fonction que je dois utiliser pour obtenir la valeur ASCII pour un caractère. P>
6 Réponses :
Un caractère détient la valeur ASCII. P>
Vous pouvez le jeter à un entier si vous préférez. P>
Sauf que la norme C ++ n'a pas besoin d'ASCII
Un simple int A = c; code> où c code> est un char code> devrait fonctionner. p>
Ne fonctionnera pas pour les codes ANSI ci-dessus 127, à moins que une sorte d'option de compilateur soit utilisée. int A = (sans signé) c; code> serait plus proche de commandement ().
@Sergey, le mot ANSI n'a jamais été mentionné dans la question, juste ASCII. Et ASCII est limité à 0..127. Dans tous les cas, la norme ISO ne manda pas si Char code> est signé ou non.
@paxdiablo, mais Ord () a été mentionné. Et ordorma () Les caractères de soutien sont-ils au-dessus de 127. et la distribution doit être utilisée exactement parce que la norme ne garantit pas de manière non signée, tandis que la plupart des utilisations de mise en œuvre signées par défaut. Mais il vaut mieux utiliser Unicode de toute façon.
Très bonne réponse. Bon de savoir que c'est si simple et que la valeur par défaut lors de la coulée cela,
Typassez-le en utilisant ASCII = (int) caractère code>. p>
char c = 'a'; int i = (int)c;
Que diriez-vous de
#include <ctype.h>
int LOrdValue = __toascii('a');
Vous pouvez faire ceci devrait donner 65 p> p>
Je suis un programmeur C ++, je vois commander quand je lis juste un code Delphi. Je me demande ce que c'est et cette question prouve que mon hypothèse est juste. Sentez-vous que c'est un peu overkillé.