字符串输入未知长度数组的处理(记拼多多血与泪的故事)

#include<iostream>
#include<string>
#include<vector>
using namespace std;

void splitString(const string &s, vector<string> &v, const string &c)
{
    
    string::size_type pos1,pos2;
    pos2 = s.find(c);
    pos1 =0;
    while (string::npos != pos2)//pos终止位置
    {
        v.push_back(s.substr(pos1,pos2 - pos1));//截取字符串长度
        pos1 = pos2 + c.size();//下一次要查找的位置
        pos2 = s.find(c,pos1);//从字符串s的下标5开始,查找字符串b 返回b在s中的下标
    }
    if (pos1 != s.length())
    {
        v.push_back(s.substr(pos1));//截取从pos1位置开始到终止位置的字符
    }
}

int main(){
    string s1;
    cin >> s1;
    vector<string> v;
    vector<int> iv;
    splitString(s1, v, ",");
    for (int i =0; i < v.size(); i++)
    {
        iv.push_back(stoi(v[i]));
        cout << v[i] << endl;
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_39804483/article/details/89013012
今日推荐