关键技术:
本实例使用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);
}