Ada:如何从命令行读取可变长度的字符串
Ada: How to read variable length strings from command line
我正在做一个多堆栈程序,其操作码如下所示:
I2 Sam
I3 Bobby
I1 Steve
D3
I3 Jonathan
"I"表示插入,编号为哪一栈,"D"表示删除,编号为哪一栈。我的问题是,如何从命令行读取每一个并确定要执行的操作?名称是可变长度的,我不能使用堆内存。我能做的一件事是,因为可能的名称列表是已知的,所以将名称变成枚举类型。谢谢!
如果您从标准输入读取值并且至少使用 Ada 2005,则此方法可行:
with Ada.Text_IO;
procedure Foo is
use Ada.Text_IO;
begin
while not End_Of_File loop
declare
Cur_Line : constant String := Get_Line;
begin
-- process the line here
end;
end loop;
end Foo;
我正在做一个多堆栈程序,其操作码如下所示:
I2 Sam
I3 Bobby
I1 Steve
D3
I3 Jonathan
"I"表示插入,编号为哪一栈,"D"表示删除,编号为哪一栈。我的问题是,如何从命令行读取每一个并确定要执行的操作?名称是可变长度的,我不能使用堆内存。我能做的一件事是,因为可能的名称列表是已知的,所以将名称变成枚举类型。谢谢!
如果您从标准输入读取值并且至少使用 Ada 2005,则此方法可行:
with Ada.Text_IO;
procedure Foo is
use Ada.Text_IO;
begin
while not End_Of_File loop
declare
Cur_Line : constant String := Get_Line;
begin
-- process the line here
end;
end loop;
end Foo;