首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

小白求教解决方案

2012-03-04 
小白求教用户输入变量的个数不固定,如何一次读取全部数据?例如,input:1 2 3 4 5 ……最好保存到STL容器[解决

小白求教
用户输入变量的个数不固定,如何一次读取全部数据?
例如,input:
1 2 3 4 5 ……
最好保存到STL容器

[解决办法]

C/C++ code
#include "stdafx.h"#include <iostream>#include <vector>//采用vector容器就可以了,int main(){    typedef std::vector<int> Ive;    Ive v;    int c;    std::cout<<"输入一串整数:"<<std::endl;    while(std::cin>>c)    {        v.push_back(c);    }    Ive::iterator it=v.begin();    while(it!=v.end())    {        std::cout<<*it<<std::endl;        ++it;    }    return 1;}
[解决办法]
如果用户在一行上输入多个数据,你可以这样做:
C/C++ code
#include <iostream>#include <vector>using namespace std;int main(){    vector<int> vi;    int n;    while(true){//反复读取每一个整数        while(cin.peek()==' '||cin.peek()=='\t') cin.ignore();//跳过空格和制表符        if(cin.peek()=='\n') break;//如果遇到换行符就结束        cin >> n;//不是换行符就读入一个整数        vi.push_back(n);//加入到容器中    }    //使用容器中的数据……    return 0;} 

热点排行