Ada 在第一个空格处剪切字符串

Ada 在第一个空格处剪切字符串,ada,Ada,我正在为Ada主程序制作自己的程序包。我读取一个字符串,后跟一个整数和另一个字符串,问题是我需要在第一个空格的符号处剪切第一个字符串。我不知道怎么做,我搜索堆栈溢出只是为了找到其他语言的解决方案 我现在在包体中的代码是: Get\u行(Item.String,Item.X1) 其中X1为整数,String为字符串。如果您在类型中定义长度以匹配输入的确切长度,那么这是可行的,但是您当然希望能够插入任何您想要的内容,因此它不起作用 谁能给我指一下正确的方向吗 谢谢为什么您需要为Ada主程序制作一个包

我正在为Ada主程序制作自己的程序包。我读取一个字符串,后跟一个整数和另一个字符串,问题是我需要在第一个空格的符号处剪切第一个字符串。我不知道怎么做,我搜索堆栈溢出只是为了找到其他语言的解决方案

我现在在包体中的代码是:

Get\u行(Item.String,Item.X1)

其中X1为整数,String为字符串。如果您在类型中定义长度以匹配输入的确切长度,那么这是可行的,但是您当然希望能够插入任何您想要的内容,因此它不起作用

谁能给我指一下正确的方向吗


谢谢

为什么您需要为Ada主程序制作一个包?大多数编译器需要它们是无参数的库级过程

无论如何,这可能会给你一些提示

带有Ada.Text\u IO;
使用Ada.Integer\u Text\u IO;
阿格雷尔是
开始
声明
行:常量字符串:=Ada.Text\u IO.Get\u行;
这是如何处理读取长度未知的字符串。您必须确定如何保存它以备将来使用(可能使用一个
无界\u字符串
?)

_整数:整数;
开始
正在查找\u以查找\u空间:
对于直线范围循环中的J
如果行(J)='',则
Line'First
J-1
的所有内容都是您想要的字符串

声明
假人:阳性;
开始
Ada.Integer\u Text\u IO.Get(From=>Line(J..Line'Last),
Item=>_整数,
Last=>Dummy);
结束;
好的,现在我们有了整数

            ...
            exit Looking_For_Space;
。。。我们的第一行结束了

end if;
结束循环查找\u的\u空间;
结束;
阿格雷尔终点;

或使用
空间索引:常量Natural:=Ada.Strings.Fixed.Index(行“”)
@JeffreyR.Carter是的,但我认为这可能会分散Hanks Simon的注意力,我复制了代码,它似乎可以编译。但是,我想知道如何从常规的“Get”或“Get_Line”命令调用此过程?我试着去接(线)和去接(线),但都没用哦,我需要另外做一个包裹,因为这是学校作业的一部分。我现在已经成功地制作了这个包,但是我不得不让用户按enter键几次,以便输入他们应该输入的数据,以便在每次输入时剪切信息,而不是使用正确的格式。