CString按指定字符分割为若⼲个CString /本例将 I&LOVE&TANG&JUAN分割为4个独⽴的CString  "I" "LOVE" "TANG" "JUAN"
//直接贴上函数
CStringArray* DivString(CString test)
{
CStringArray* m_result = new CStringArray;
while(TRUE)
{
int index = test.Find(_T("&"));cstring转为int
if(index == -1)
{
m_result->Add(test);
return m_result;
}
CString test1 = test.Left(index);
m_result->Add(test1);
test = test.Right(test.GetLength()-index-1);
}
}
//当index == -1 的时候,CStringArray⾥还没将test的最后⼀段保存到Array⾥⾯,所以在返回之前要加上⼀
//句add才⾏,在本例返回的类型被设置为指针,我最先肯定也没有这么做,是直接设置为CStringArray类型的
//最后报了⼀个错,说是⽆法访问CObject类型⾥的私有成员,解决办法是在CSDN上到的,就是设置
为指针
//类型,不过⾄于为什么还不清楚,⼤⽜⽅便的话也请解释⼀下。
//下⾯是调⽤
CString test = _T("I&love&tang&juan");
CStringArray* result = DivString(test);
CString test1 = result->GetAt(0);
CString test2 = result->GetAt(1);
CString test3 = result->GetAt(2);
CString test4 = result->GetAt(3);
//  CString test5 = result->GetAt(4);
//如果我们加上红字这句,程序会崩溃,因为数组⾥⾯只有4个元素即  I LOVE TANG JUAN,根本不存
在index=4 //的元素,如果这么访问的话程序会直接崩溃掉,估计是我们这⾥采⽤了指针的⽅式来访问,MSDN好像也没有说//在这种情况下返回的值是什么,所以只有在使⽤的时候加以⼩⼼了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。