//功能:split的TCHAR模板版本,用splitter将字符串分割成多个,并分别压进vector容器中 //返回值:容器中的字符串数量。 //参数1:需要被分割的字符串 //参数2:splitter //参数3:vector容器的引用,结果放进参数3中 //参数4: 是否计算末尾的splitter template <class strClass> size_t split( const TCHAR* str, const TCHAR* delim, vector<strClass>& results, bool empties = false) { const TCHAR* pstr = str; const TCHAR* r = _tcsstr(pstr, delim); size_t dlen = lstrlen(delim); while( r ) { if( empties || r > pstr ) { results.push_back(strClass(pstr, (int)(r - pstr))); } pstr = r + dlen; r =_tcsstr(pstr, delim); } if( empties || lstrlen(pstr) > 0) { results.push_back(strClass(pstr)); } return results.size(); }
调用示例
TCHAR *p = "test,hello,world,"; vector<string> ve_str1; vector <CString> ve_str2; unsigned int i = split(p, ",", ve_str1, false); for (vector<string>::iterator it = ve_str1.begin(); it != ve_str1.end(); it++) { cout<<*it<<"|"; } cout<<endl<<"vector有 "<<i<<" 个string字符串"<<endl; unsigned int j = split(p, ",", ve_str2, false); for (vector<CString>::iterator it = ve_str2.begin(); it != ve_str2.end(); it++) { cout<<*it<<"|"; } cout<<endl<<"vector有 "<<j<<" 个cstring字符串"<<endl;
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- fupindai.com 版权所有 赣ICP备2024042792号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务