分割网址上附带的参数

1.

	CString strAll;
	strAll = "dialogWidth=600;dialogHeight=400;dialogLeft=100;dialogTop=100;maxable=1";

	vector<CString> vecPara;
	SplitString(vecPara,strAll,';');
	CString strName,strValue;

	map<CString,CString> mapParams;
	for(std::vector<CString>::iterator pos=vecPara.begin();pos!=vecPara.end();++pos) 
	{
		CString strAll = *pos;
		ExtractSubString(strName,strAll,0,'=');
		ExtractSubString(strValue,strAll,1,'=');
		mapParams.insert(std::make_pair(strName,strValue));
	} 

	for(map<CString,CString>::iterator iter=mapParams.begin();iter!=mapParams.end();++iter) 
	{
		CString strTmp = (*iter).second;
		MessageBox(strTmp);
	} 

2.

void CsplitDlg::SplitString(vector<CString> &strString,const CString &strFullString,
							 TCHAR chSep /*= '\n'*/)
{
	CString str = strFullString;
	TCHAR* token = _tcstok( str.GetBuffer(), &chSep); 
	str.ReleaseBuffer();
	while( token != NULL ) 
	{  
		strString.push_back(token);
		token = _tcstok( NULL, &chSep ); 
	}
}

3.

bool CsplitDlg::ExtractSubString(CString& strString,const CString &strFullString,
                                  int iSubString, TCHAR chSep/* = '\n'*/)
{
    int i=0;
    CString str = strFullString;
    TCHAR* token = _tcstok( str.GetBuffer(), &chSep);
    str.ReleaseBuffer();
    while( token != NULL )
    {   
        if (iSubString==(i++))
        {
            strString = token;
            return TRUE;
        }
        token = _tcstok( NULL, &chSep );
    }
    return FALSE;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值