首页 > 其他 > 详细

CString 分割

时间:2017-03-01 21:38:14      阅读:168      评论:0      收藏:0      [点我收藏+]

void StringSplit(CString source, CStringArray& dest, CString division)   

{   

if(source.IsEmpty())

{


}

else

{

int pos = source.Find(division);

if(pos == -1)

{

dest.Add(source);

}

else

{

CString tmp = source.Left(pos);

dest.Add(tmp);

source = source.Mid(pos+1);

StringSplit(source,dest,division);

}

}

}


使用:本示例用于分割多个xml

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])

{

CString src=\‘#\‘" version=‘1.0‘ encoding=‘utf-8‘ ?><UpsAlarm><EncoderID>3004</EncoderID><AlarmID>6091</AlarmID><AlarmType>9512</AlarmType><UpsSn>866104025728984</UpsSn><AlarmTime>2017/2/28 15:10:50</AlarmTime></UpsAlarm><?xml version=‘1.0‘ encoding=‘utf-8‘ ?><UpsAlarmConfirmNotify><UpsSn>866104025728984</UpsSn><AlarmList><AlarmID>6091</AlarmID><AlarmID>6077</AlarmID></AlarmList><NotifyTime>2017/2/28 15:10:52</NotifyTime></UpsAlarmConfirmNotify><?xml version=‘1.0‘ encoding=‘utf-8‘ ?><UpsAlarm><EncoderID>3004</EncoderID><AlarmID>6091</AlarmID><AlarmType>9512</AlarmType><UpsSn>866104025728984</UpsSn><AlarmTime>2017/2/28 15:10:50</AlarmTime></UpsAlarm><?xml version=‘1.0‘ encoding=‘utf-8‘ ?><UpsAlarmConfirmNotify><UpsSn>866104025728984</UpsSn><AlarmList><AlarmID>6091</AlarmID><AlarmID>6077</AlarmID></AlarmList><NotifyTime>2017/2/28 15:10:52</NotifyTime></UpsAlarmConfirmNotify><?xml version=‘1.0‘ encoding=‘utf-8‘ ?><UpsAlarmConfirmNotify><UpsSn>866104025728984</UpsSn><AlarmList><AlarmID>6091</AlarmID><AlarmID>6077</AlarmID></AlarmList><NotifyTime>2017/2/28 15:10:52</NotifyTime></UpsAlarmConfirmNotify>";


CStringArray strarry;

StringSplit(src,strarry,"<?xml");

int nSize = strarry.GetSize();

CString tmp;

for (int i=1;i<nSize;i++)

{

CString subUrl="<"+strarry.GetAt(i);

TRACE("cnt:%d:%s\n",i,subUrl) ;


}

return 0;

本文出自 “软件技术” 博客,谢绝转载!

CString 分割

原文:http://danielllf.blog.51cto.com/2442311/1902408

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!