要求: 读取整数,按enter结束输入
在C/C++中,一系列的简单数据是存储在数组里,而且,针对输入,一般要知道输入的数据个数,用for循环迭代, 又或者给定一个结束标志的输入,当输入为结束标志时,停止循环输入(比如, 输入0结束输入).
然而,当既没有结束输入的输入标志,又要求输入不定数目的整数,这时候就不能按最简单的方式输入了.
思路:利用字符串流sstream, 先读取一行字符到字符串流中,在从字符串流中读取数据,这样,当按enter时,实际上,让不定长的输入放到字符串流中,那么流的末尾就是输入的结尾.
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main() {
int num;
string nums;
for (int i = 0; i < 3; i++) {
getline(cin, nums);
istringstream istr(nums);
while (istr >> num) cout << num << " ";
cout << endl;
}
}