#include
#include
using namespace std;
int main()
{
int arr[100],i=0,c;
//以下是输入部分
while(cin>>arr[i++])
{
while((c=getchar())!=','&&c!='\n');
if(c=='\n') break;
}
//以下是测试输出
for(c=0;cprintf("%d\n",arr[c]);
}
#include
int get_integer(int p[])
{
int count = 0;
while (std::cin >> *p++ and ++count)
if (std::cin.get()=='\n') break;
return count;
}
如果用cin函数的话,按回车键默认输入结束。空格和换行都被认为一个数据输入结束。多行的数据,可以考虑用数组。控制台不可能做到多智能或是说做出动态的决策。因此建议 一次性读入所有数据,然后根据要求分析数据。我写了一小段代码,你看看,应该可以实现你的需求。
#include
#include
using namespace std;
#define MAX_SIZE 100
int getSubStrings(string &str, string *container) {
// Return the size of container
int i, j;
int size = str.length();
string subString;
subString.clear();
for (i = 0, j = 0; i < size; i++) {
if (str[i] != ',') {
subString += str[i];
} else {
container[j] = subString;
j++;
subString.clear();
}
}
// 'cin' doesn't read in white space
// and we don't get a ',' in the end, so...
if (subString != "") {
container[j] = subString;
j++; // j is from 0
}
return j;
}
int main() {
string str;
string arr[MAX_SIZE];
int size;
cout<<"Input anything ending with return key:\n";
cin>>noskipws;
cin>>str;
size = getSubStrings(str, arr);
// output the content of arr
cout<<"\nThe content of your input is: \n";
for (int i = 0; i < size; i++) {
cout<
return 0;
}
希望对你有所帮助哈。