char_array Ada 中的赋值
char_array assignment in Ada
在具有简单字符数组(Interfaces.C.char 数组)声明的 Ada 程序中,
package C renames Interfaces.C;
Msg : C.Char_Array(1..50) := (others => C.To_C(Item=>ASCII.NUL));
在以下分配中出现运行时异常 "length check failed":
Msg := C.To_C(Item => "UNKNOWN ERROR",Append_Nul => True));
上述引发异常的作业有什么问题?是否有任何简单的单行方法可以像上面那样直接向 char 数组写入较小的赋值?
查看ARM。附件B.3.
除了函数 To_C 还有一个过程 To_C.
首先声明一个size_t变量来保存返回值:
Count : Size_T;
然后:
C.To_C(Item => "UNKNOWN ERROR",
Target => Msg,
Count => Count,
Append_Nul => True);
在具有简单字符数组(Interfaces.C.char 数组)声明的 Ada 程序中,
package C renames Interfaces.C;
Msg : C.Char_Array(1..50) := (others => C.To_C(Item=>ASCII.NUL));
在以下分配中出现运行时异常 "length check failed":
Msg := C.To_C(Item => "UNKNOWN ERROR",Append_Nul => True));
上述引发异常的作业有什么问题?是否有任何简单的单行方法可以像上面那样直接向 char 数组写入较小的赋值?
查看ARM。附件B.3.
除了函数 To_C 还有一个过程 To_C.
首先声明一个size_t变量来保存返回值:
Count : Size_T;
然后:
C.To_C(Item => "UNKNOWN ERROR",
Target => Msg,
Count => Count,
Append_Nul => True);