MFC里面的CString类竟然没有Split函数,不能忍受,自己写一个
2011-04-30 18:42
1001 查看
用过Java的同学应该知道,String.Split()函数是多么的好用,但今天写MFC程序的时候突然要用到该功能函数,但苦苦搜寻msdn没有找到类似的函数。没办法,自己写个
如str="@I@@LOVE@C++@!", ch='@';
返回字符串数组{"I", "LOVE", "C++", "!"}
CStringArray* Split(CString str, char ch) { // 去掉两边的ch str.TrimLeft(ch); str.TrimRight(ch); int nStart = 0; int nLastStart = 0; CStringArray *pStrArray = new CStringArray(); while(-1 != (nStart = str.Find(ch, nStart))){ if(nLastStart != nStart){// 不是连续ch, pStrArray->Add(str.Mid(nLastStart, nStart - nLastStart)); } nStart ++; nLastStart = nStart; } pStrArray->Add(str.Mid(nLastStart)); // 最后一个子串 return pStrArray; }
如str="@I@@LOVE@C++@!", ch='@';
返回字符串数组{"I", "LOVE", "C++", "!"}
相关文章推荐
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
- 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
- pig里面没有if:不能判断一个条件后决定一个执行步骤
- pig里面没有if:不能判断一个条件后决定一个执行步骤
- . 有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列,要求执行效率高,并说明如何改善执行效率(该函数必须自己实现,不能使用php函数)。
- 模拟申请账户,两次密码相同,用户名大于6位,密码不能为空判断,(这是一个布局框架,没有里面的运行代码)
- 解决eclipse svn插件不能识别自己svn服务器中项目的问题(点team没有相关功能)[转载]
- MFC里面CString 与 string 互相转化 的问题。_基础类_VC/MFC-ITnose http://www.itnose.net/detail/6110703.html
- mfc对话框程序在ide编译可运行,但编译完毕的debug和release版本不能运行。。后来发现原因是:用到的sqlite数据库文件没在对应目录下,而代码中没有try..catch..
- MFC下写的一个字符串分割的Split函数
- 一个想了好几天的问题——关于8086cpu自己编写9号中断不能单步的问题
- eclipse有时新建一个PHP文件或者是HTML文件没有快捷键太麻烦了,总要用鼠标点 怎么创建自己的快捷键呢?
- MMC不能打开文件C:\WINDOWS\system32\devmgmt.msc。这可能是由于文件不存在,不是一个MMC控制台,或者用后来版本的MMC创建 。也可能是由于您没有访问此文件的足够权限
- 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构。 (即只使用基本的数据结构)
- 在ActivityGroup中一个Activity中有个EditText,没有设置任何的特殊属性,却只能输入内容,不能删除。
- 解决eclipse svn插件不能识别自己svn服务器中项目的问题(点team没有相关功能)
- 今天打开csdn一看,竟然一年多没有写自己的东西了
- 一、ElasticSearch5.6.3下载安装步骤 说明:ElasticSearch的运行不能用root执行,自己用useradd命令新建一个用户如下所示: sueradd chen passw