DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

首先,能用的函数有很多,比如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[i]<<" ";
此方法缺点是arr数组大小固定了。
2.vector法。
    vector<int> v;
    int a;
    while(cin >> a)
    {
        v.push_back(a);
        char c = cin.get();
        if(c == '\n')
            break;
        
    }
    cout<<v.size()<<endl;
    int i = 0;
    while(v.size() > i)
    {
        cout<<v[i++]<<" ";
    }

posted on 2022-01-28 14:34  DoubleLi  阅读(139)  评论(0编辑  收藏  举报