一个参数附带多个消息(AfxExtractSubString字符分割)

参数附加消息进行发送

        CString MessageData;
		MessageData.Format(_T("%d,%d"),sideNo,type);
		::PostMessage(m_hParentWnd,WM_USER_ADDFILE,(WPARAM)&MessageData,0);

解析

	case WM_USER_ADDFILE:
			{
				CString szText = *(CString*)msg->wParam;
				CString szSub;
				AfxExtractSubString(szSub,szText,0,',');
				int sideNo = _tstof(szSub);
				AfxExtractSubString(szSub,szText,1,',');
				int type = _tstof(szSub);
			}
			break;

字符串的函数AfxExtractSubString(CString& rString, LPCTSTR lpszFullString,int iSubString, TCHAR chSep = ‘/n’),下面大概说一下它的用法:
参数说明:
rString 得到的字符串;lpszFullString 待分割的字符串;iSubString 要得到第几个字符串;chSep 个子串之间的分隔符
例如,有一个字符串strFullString = “ab-cd-ef”;则有:

CString strTmp;
AfxExtractSubString( strTmp, (LPCTSTR)strFullString, 0, '-');//strTmp的内容为ab
AfxExtractSubString( strTmp, (LPCTSTR)strFullString, 1, '-');//strTmp的内容为cd
AfxExtractSubString( strTmp, (LPCTSTR)strFullString, 2, '-');//strTmp的内容为ef

你可能感兴趣的:(C++学习笔记)