文章类型: VC&C++
关键词: VC,C++,MFC,CString,字符串,string,split
内容摘要: MFC CString字符串/C++ string split

VC中的MFC下对CString字符串的split分割使用方法

2017/10/27 16:45:30    来源:apple    阅读:

VC++ 库中, 似乎并没有特别好的 SPLIT 字符串拆分函数.  现在自己定义一个吧.

编译环境: VS 2012, UNICODE

#include <vector>
using namespace std;

vector<CString> split(CString &str, const CString find, int limit = 0) //这后面的 limit 可以指定拆分字符串的次数哦.
{
	vector<CString> ret;
	int start = 0;
	int pos = str.Find(find, start);
	int len = find.GetLength();
	int i = 0;
	while (true) {
		if (pos < 0 || (limit > 0 && i + 1 == limit)) { //NO FIND
			ret.push_back(str.Mid(start));
			break;
		}
		else {
			ret.push_back(str.Mid(start, pos - start));
			start = pos + len;
			pos = str.Find(find, start);
		}
		i++;
	}
	return ret;
}


应用示例:

----------------------------

    CString t = L"a,.b,.c,de.f";
	vector<CString> tData = split(t, L"."); //这里的分隔符是支持多个字符串的哦. 
	CString out = L"";
	for (vector<CString>::iterator iter = tData.begin(); iter != tData.end(); ++iter)
	{
		//this->MessageBox(*iter);
		out += *iter;
		out += L"\r\n";
		out += L"-----------------";
		out += L"\r\n";
	}
	this->MessageBox(out);


↑ 上一篇文章:VC中的CString.Format()函数详解 关键词:VC,CString,Format,函数,详解 发布日期:2017/10/27 13:45:49
↓ 下一篇文章:C++中string的trim, split方法 关键词:C++,string,trim,split,方法 发布日期:2017/10/27 16:57:36
相关文章:
VC++ CString类完美总结(整理) 关键词:VC++,,MFC,CString,类,完美,总结,整理 发布日期:2018-09-17 13:58
(VC++) CString Format的用法 关键词:VC++,CString,Format,用法,windows,MFC,程序,C++ 发布日期:2016-10-24 11:12
(VC++) CString Format的用法 关键词:(VC++),CString,Format,用法,Windows,MFC,C++,程序 发布日期:2017-09-04 14:42
相关目录:.NETVC&C++软件开发
我要评论
正在加载评论信息......