Ada:如何从命令行读取变长字符串

时间:2017-03-30 04:16:54

标签: string command-line ada

我正在使用如下所示的操作码进行多堆栈程序:

(i, :, :)

“I”表示插入,数字是哪个堆栈,“D”表示删除,编号是哪个堆栈。我的问题是,如何从命令行中读取每个这些并确定要执行的操作?名称长度可变,我不能使用堆内存。我可以做的一件事是,因为可能的名称列表是已知的,所以将名称变为枚举类型。谢谢!

1 个答案:

答案 0 :(得分:4)

如果您正在阅读标准输入中的值并且至少使用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;