如何将ASCII值存储在一个字符中(仅限Ada 83)

时间:2014-04-24 01:07:08

标签: ada

如何在字符中存储整数(例如33)的ascii值。我想在Ada83中使用这样的东西,而不是95

C:代码

char c = 10;
char *k = &c;
strncat (des, k, 1);
printf("%s",des);

谢谢!

1 个答案:

答案 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位置的整数。