c/c++ 字符串分割
vector<string> split_string(const char *str, const char *pattern)
{char * strc =(char*)str;vector<string> res;char* temp = strtok(strc, pattern);while(temp != NULL){res.push_back(string(temp));temp = strtok(NULL, pattern);}return res;
}vector<string> split_string(const string &str, const string &pattern)
{char * strc = new char[strlen(str.c_str())+1];strcpy(strc, str.c_str()); //string转换成C-stringvector<string> res;char* temp = strtok(strc, pattern.c_str());while(temp != NULL){res.push_back(string(temp));temp = strtok(NULL, pattern.c_str());}delete[] strc;return res;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <fstream>
#include <string>
#include<vector>using namespace std;
vector<string> split_string(const string &str, const string &pattern)
{char * strc = new char[strlen(str.c_str())+1];strcpy(strc, str.c_str()); //string转换成C-stringvector<string> res;char* temp = strtok(strc, pattern.c_str());while(temp != NULL){res.push_back(string(temp));temp = strtok(NULL, pattern.c_str());}delete[] strc;return res;
}
int main(int argc, char *argv[])
{vector<string> res;res = split_string("115223 rtmp://192.168.0.112/live/livestream"," ");cout<<res[0]<<" "<<res[1]<<endl;return 0;
}
shuchu:
115223 rtmp://192.168.0.112/live/livestream