阿杰 发表于 2011-6-22 22:17:02

c++编写字符串分割函数之vector<string>的应用

#include<iostream>
#include<string>
#include<vector>
using namespace std;
void _strtok(char *s,char *k,vector<string>& str){
        char *ss=s;
        char *p=strstr(ss,k);
        while(p){
                if(p-ss>0){
                        char *tt=new char;
                        memset(tt,0,p-ss+1);
                        strncpy(tt,ss,p-ss);
                        str.push_back(tt);
                        delete[] tt;
                }
                ss+=(p-ss)+strlen(k);
                p=strstr(ss,k);
               
        }
        if(str.size()>0 && *ss!=0){
                str.push_back(ss);
        }
}

main(){
       
    vector<string> str;
    _strtok("q11sdfd11s","11",str);
    cout<<str.size();
       
}其它例子:void main()
{
    vector<string> str;
    _strtok("*.exe|*.com","|",str);
    cout<<"个数:"<<str.size()<<"\n";
       
        int i;
        for(i=0;i<str.size();i++) cout<<str<<"\n";
}

upring 发表于 2015-6-13 20:09:07

我来支持一下
页: [1]
查看完整版本: c++编写字符串分割函数之vector<string>的应用