请问怎么找出以逗号","为分隔符的字符串呢?CString类型的

zhxingway 2011-03-14 10:21:55
例:CString strAll = "aaa,bbb,ccc,ddd";
CString strSub[4];
.
.
.
目的是把strAll中的字符串以","分隔取出,分别存取到strSub中.如strSub[0]="aaa",strSub[1]="bbb"...

我是用到了

int n = sTemp.Find(',');
strSub[0] = sTemp.Left(n);

sTemp = sTemp.Right(sTemp.GetLength()-n-1);
n = sTemp.Find(',');
strSub[1] = sTemp.Left(n);
.
.
.
这样做的,但是觉得代码太长,求更简洁高效的代码,谢谢!
...全文
764 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tompaz 2011-03-14
  • 打赏
  • 举报
回复
AfxExtractSubString
副组长 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 king_hhuang 的回复:]
支持1楼,也可以看看这个
http://topic.csdn.net/u/20110218/12/e039e736-ca2f-4168-b06a-14d386d511c5.html?52152
[/Quote]

呵呵,这是原来我那贴,132楼是结果,代码这样。
char* sm[MAX_SUBSTR], **pb = sm;
do
{
*pb++ = pStr;
pStr = strchr(pStr,',');
if(pStr)
*pStr++ = 0;
}while(pStr);

pStr是源串。



Eleven 2011-03-14
  • 打赏
  • 举报
回复
CString::Tokenize();
sichuanwww 2011-03-14
  • 打赏
  • 举报
回复
字符串分割。
sxqinge 2011-03-14
  • 打赏
  • 举报
回复
VC7及以上版本有个CString的函数可以直接实现,具体怎么写的忘记了,用VC6的飘过
真相重于对错 2011-03-14
  • 打赏
  • 举报
回复
CString strAll = _T("aaa,bbb,ccc,ddd");
CStringList list;
int curPos= 0;
CString resToken= strAll.Tokenize(_T(","),curPos);
if(resToken != _T(""))
list.AddTail(resToken);
while (resToken != _T(""))
{
resToken= strAll.Tokenize(_T(","),curPos);
if(resToken!=_T(""))
list.AddTail(resToken);
}
King_hhuang 2011-03-14
  • 打赏
  • 举报
回复
支持1楼,也可以看看这个
http://topic.csdn.net/u/20110218/12/e039e736-ca2f-4168-b06a-14d386d511c5.html?52152
shenyi0106 2011-03-14
  • 打赏
  • 举报
回复
int nStar = 0,nPos = 0;
nPos = sTemp.Find(',');
while(nPos != -1)
{
CString ss = sTemp.Mid(nStar,nPos - nStar - 1);
nStar = nPos;
nPos = sTmp.Find(',',nStar);
}
CString ss1 = sTemp.Mid(nStar + 1);
zhxingway 2011-03-14
  • 打赏
  • 举报
回复
暂时发现9楼的同学的答案最简洁呀,
其它同学的创造力非常不错呀.
zhxingway 2011-03-14
  • 打赏
  • 举报
回复
非常感谢各位啊,
先顶一顶,
改完这个程序再试一试

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧