c++之字符串分割:
1 /* 2 *c++之字符串分割: 3 */ 4 5 #include <iostream> 6 #include <string> 7 #include <vector> 8 9 void split(const std::string& s, const std::string& delim,std::vector< std::string >& ret) 10 { 11 size_t last = 0; 12 size_t index=s.find_first_of(delim,last); 13 while (index!=std::string::npos) { 14 ret.push_back(s.substr(last,index-last)); 15 last=index+1; 16 index=s.find_first_of(delim,last); 17 } 18 if (index-last>0) { 19 ret.push_back(s.substr(last,index-last)); 20 } 21 } 22 23 //取vector的最后一个元素: 24 std::string tmp = str_arr[str_arr.size()-1]; 25 26 int main() 27 { 28 std::string str = "test/jjksdf"; 29 if(str.find("/") != std::string::npos){ 30 std::vector<std::string> svec; 31 split(str, "/", svec); 32 std::cout << "first:" << svec[0] << " second: "<< svec[1] << std::endl; 33 } 34 std::cout << "src string: " << str << std::endl; 35 36 return 0; 37 }