以字符串中的指定字符来分隔字符

  关键技术:

   本实例使用CString类中Find方法查找到出现“;”符号的位置,然后根据这个位置,将字符串分为左右两个子字符串,左侧子字符串使用Left方法获取,右侧子字符串使用Right方法获取。

  在右子字符串中继续查找出现“;”符号的位置,一直到整个字符串查找完成。这样通过Left方法获取的字符串以及最后一个Right方法获取的字符串就是

查找的结果。如下图所示:

       

设计过程:

 1)使用VC6.0创建基于对话框的应用程序。

 2)向对话框添加ID属性为IDC_CHAR、IDC_SRC、IDC_RESULT的编辑框,以及三个静态文本框,一个按钮;其中“IDC_RESULT”的Style属性设置如下:

     

3)OnSet方法是“转换”按钮的单击事件的实现,完成字符串的分隔,代码如下:

void CDivStringDlg::OnSet() 
{
	// TODO: Add your control notification handler code here
	CString strsrc,strchar,strres,str1,str2,tmp;
	GetDlgItem(IDC_SRC)->GetWindowText(strsrc);
	GetDlgItem(IDC_CHAR)->GetWindowText(strchar);
	str2=strsrc;
	int pos=str2.Find(strchar);
	while (pos>0)
	{
		str1=str2.Left(pos);
		str2=str2.Right(str2.GetLength()-pos-1);
		tmp.Format("%s\r\n",str1);
		strres += tmp;
		pos=str2.Find(strchar);
	}
	strres += str2;
	GetDlgItem(IDC_RESULT)->SetWindowText(strres);
}
相关文章
相关标签/搜索