如何连续读取多个以空格分开的数字?遇见回车结束?

首先,能用的函数有很多,比如cin.get(), cin.getline(), gets(),getchar(), getline(),但是,经过检验发现都不方便。

原因很明显,他们要求的参数不是字符串就是char*,用起来很麻烦。以下是我自己探索到的方法:
1.数组法。
	int arr[20];
	int idx = 0;
	while(1)
	{
		cin >>arr[idx++];
		char c = cin.get();
		if(c == '\n')
			break;
	}
	arr[idx] = '\0';
	for(int i=0; i < idx; i++)
		cout<
此方法缺点是arr数组大小固定了。
2.vector法。
	vector v;
	int a;
	while(cin >> a)
	{
		v.push_back(a);
		char c = cin.get();
		if(c == '\n')
			break;
		
	}
	cout< i)
	{
		cout<


你可能感兴趣的:(学习,C++,cin,空格,回车)