我知道这是一个常见问题,但如果不使用 vector 和 ctrl + d/c,我找不到任何解决这个问题的方法。我在使用 cin 获取未知数量的整数时遇到了无限循环。即使在按下输入后,while 循环也不会停止执行。非常感谢!
while(cin >> num)
{
num--;
sizeB = 0;
setB[sizeB] = num;
sizeB++;
}
cin.ignore();
cin.clear();
最佳答案
可以使用 getline 函数逐行获取数据,然后通过字符串流读取值:
#include <iostream>
#include <stdio.h>
#include <sstream>
using namespace std;
int main() {
string line;
while(getline(cin, line)) {
stringstream str_stream(line);
int num;
while(str_stream >> num) {
cout << "..." << num << "..." << endl;
}
cout << "----" << endl;
}
}
关于c++ - 不退出以 cin 为条件的 while 循环 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803130/