我已经定义
subtype String10 is String(1..10);
并且我正在尝试对其进行键盘输入,而无需在按 Enter 之前手动输入空格。我尝试了 get_line() 但由于某种原因,它实际上不会在输出 get put() 命令之前等待输入,而且我还认为它只会将字符串中的任何内容留在那里,而不是用空格填充它。
我知道并使用过 Bounded_String 和 Unbounded_String,但我想知道是否有办法使这项工作。
我试过为它制作一个函数:
--getString10--
procedure getString10(s : string10) is
c : character;
k : integer;
begin
for i in integer range 1..10 loop
get(c);
if Ada.Text_IO.End_Of_Line = false then
s(i) := c;
else
k := i;
exit;
end if;
end loop;
for i in integer range k..10 loop
s(i) := ' ';
end loop;
end getString10;
但是,在这里,我知道这s(i)
不起作用,我不认为
"if Ada.Text_IO.End_Of_Line = false then"
做我希望它会做的事情。当我寻找实际的方法时,它只是一个占位符。
我已经搜索了几个小时,但 Ada 文档不像其他语言那样可用或清晰。我发现了很多关于获取字符串的信息,但不是我想要的。