c++パッケージ共通関数(split)

4501 ワード

vector<string> split(string src, string sep) {
	  string src_tmp = src, sep_tmp = sep;
	  char *_src = (char *)src_tmp.c_str(), *_sep = (char *)sep_tmp.c_str(), *pNext;
	  vector<string> ret;
	  if (_src == NULL || strlen(_src) == 0) //             0,     
	      return ret;
	  if (_sep == NULL || strlen(_sep) == 0) //          ,     
	      return ret;
	  pNext = (char *)strtok(_src, _sep);
	  while(pNext != NULL) {
	      string tmp = pNext;
	      ret.push_back(tmp);
	      pNext = (char *)strtok(NULL, _sep);
	  }
	
	  return ret; 
}