#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[p-ss+1]; 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(); } 本文有不足之处,还望大家多多指教。