如何做一个while循环,直到有什么东西可以读取C++

如何做一个while循环,直到有什么东西可以读取C++,c++,loops,while-loop,infinity,C++,Loops,While Loop,Infinity,我知道你可能会再次投票否决我,我真的不明白这一点,但我真的被困在某个东西上,搞不懂它,在网上没有这样的信息,在我的书中也没有,所以我有一个作业,我需要做两个容器的总和,其中两个总和之间的差值最小,因此,程序运行良好,但在我的作业中: 用户在一行中输入未知长度的数字,然后我对它们进行各种求和,找到它们之间差异最小的一个 好的,但是我写代码的方式是,我使用一个whiletrue来处理来自赋值的无穷多个测试用例,在这个whiletrue中,我有另一个whilecin>>SOMEINT循环,并将它推回一

我知道你可能会再次投票否决我,我真的不明白这一点,但我真的被困在某个东西上,搞不懂它,在网上没有这样的信息,在我的书中也没有,所以我有一个作业,我需要做两个容器的总和,其中两个总和之间的差值最小,因此,程序运行良好,但在我的作业中:

用户在一行中输入未知长度的数字,然后我对它们进行各种求和,找到它们之间差异最小的一个

好的,但是我写代码的方式是,我使用一个whiletrue来处理来自赋值的无穷多个测试用例,在这个whiletrue中,我有另一个whilecin>>SOMEINT循环,并将它推回一个向量,在它读取新行之后,它只需中断wile并继续计算

然而,在我们的测试软件中,这一个给出了运行时错误,因为在找到一些情况后,它开始打印无穷大0,因为没有什么可输入的,但whiletrue只是继续

我的意思是,我只是想让它这样,当用户输入某个内容时,例如,输入30 50 90,它将返回80 90,然后wiat用于另一个输入,等等

代码:


是的,我只使用getline和stringstream找到了解决方案

又名这个

    vector<int> Vec;

 string line;
while(getline( cin, line ))
{
istringstream iss( line );
int number;
while( iss >> number )
Vec.push_back(number);
}

欢迎来到堆栈溢出。请花点时间阅读并参考您可以在此处询问的内容和方式。解决此类问题的正确工具是调试器。在询问堆栈溢出之前,应该逐行检查代码。如需更多帮助,请阅读。至少,您应该[编辑]您的问题,以包括一个重现您的问题的示例,以及您在调试器中所做的观察。了解stringstream。一直使用向量。
    vector<int> Vec;

 string line;
while(getline( cin, line ))
{
istringstream iss( line );
int number;
while( iss >> number )
Vec.push_back(number);
}