如何在字符中存储整数(例如33)的ascii值。我想在Ada83中使用这样的东西,而不是95
C:代码
char c = 10;
char *k = &c;
strncat (des, k, 1);
printf("%s",des);
谢谢!
答案 0 :(得分:2)
C : Character := Character'Val(10);
或
C : Character := ASCII.LF;
第一个适用于所有版本的Ada。第二个是Ada 83的标准方式;它现在已经过时了。更新的方式是
C : Character := Ada.Characters.Latin_1.LF;
更多信息:在Ada中,Character
是枚举类型,而不是整数类型。因此,您无法直接为其分配整数。 'Val
属性是将整数转换为枚举的Ada方法; Enum_Type'Val(N)
表示“为枚举类型定义的第N个枚举文字,0-相对”。换句话说,Enum_Type'Pos(E)
返回对应于枚举列表中E
位置的整数。