如何在c++中采用这种STDIN输入?



在许多黑客马拉松中,他们提供测试用例。在那些测试用例中,它们通过STDIN以不同的方式提供输入。这是我最纠结的情况之一。

这是一种输入:(这是一个测试用例)

Mike
John
Ahmed
Sangha
Daniel
Ann

这里有6个输入。但是它们没有提供输入的数量。所以我不能用for loop或者while loop作为这个输入。因为我不知道应该做多少次迭代。所以我要一直输入到最后。但这不是来自文件的输入。所以我不能用EOF。这个输入来自STDIN。那么我如何将这种输入存储在数组中呢?我也不知道应该在数组中创建多少元素。因为我不知道有多少个输入。(不同的测试用例可能包含不同数量的输入)。我该如何解决这类问题?

非常感谢你的帮助!

您应该能够使用EOF,因为stdin一个文件(至少在linux上)

这里的输入清楚地显示了显示的条目数。请注意,每个条目都在换行符上,因此,将其视为分隔符,您可以解析输入流并获得分隔的条目,还可以获得条目的计数。

c++ getline()就是这样做的:

istream&getline (istream&是,string&

getline的最后一个参数是可选的,因为它默认使用'n'。

如果你想用原始的方式来做,你可以设置一个文件指针,对'n'进行向前看,并将它之前的所有内容读入变量数组(vector)的新项…重复执行此操作,直到到达流(或文件流)的EOF

最新更新