CString 按指定字符分割为若干个CString
2016-04-26 18:13
344 查看
/本例将 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("&"));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好像也没有说//在这种情况下返回的值是什么,所以只有在使用的时候加以小心了。
CStringArray* DivString(CString test){CStringArray* m_result = new CStringArray;while(TRUE){int index = test.Find(_T("&"));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好像也没有说//在这种情况下返回的值是什么,所以只有在使用的时候加以小心了。
相关文章推荐
- MFC实现透明button
- MFC实现多个界面跳转
- MFC 中设置背景音乐
- MFC设置对话框背景[bmp位图当背景]
- MFC对话框全屏显示代码[亲测可用]
- C语言处理图片二值化程序代码[亲测能用]
- OCR谷歌开源项目使用流程说明【原】
- 手动修改系统自带的屏幕键盘的大小 (OSK修改尺寸)
- CFile和CStdioFile的文件读写使用方法
- VC socket传输图片
- 触摸屏实现虚拟键盘输入汉字
- 虚拟机对网卡的设置
- 团队开发——个人工作总结08
- sip
- mysql三种判断子串三个函数
- 任意角度的矩形与圆形的碰撞检测
- JNI实现HelloWorld
- Python Django App开发相关
- 简单http接口对接微信功能DEMO,仅供参考
- HDU - 4268 Alice and Bob (set的应用)好题