C++ MFC中 截取特定字符串

比如一串字符串01000088020000880300008804000088截取88前的字符串变成010000,020000.......... 比如一串字符串 01 00 00 88 02 00 00 88 03 00 00 88 04 00 00 88

截取88前的字符串 变成 01 00 00 ,02 00 00 .......
展开
 我来答
White_MouseYBZ
2014-12-19 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6594万
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
#include <string>
using namespace std;
int main(void){
string stra("01 00 00 88 02 00 00 88 03 00 00 88 04 00 00 88"),strb;
for(int ln=stra.length(),i=0;i<ln;i++)
if(stra[i]!='8' || stra[i+1]!='8')
strb+=stra[i];
else{
strb+=',';
i++;
}
cout << strb << endl;
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歪瑞顾K
2014-12-19 · TA获得超过2905个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2209万
展开全部
用Find 得到index
根据index 用substring(好像是mid打头的函数)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Cpp_prokb
2014-12-19 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:73.1万
展开全部
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string name("01 00 00 88 02 00 00 88 03 00 00 88 04 00 00 88");
int startpos = 0;

while (-1!= startpos )
{
startpos = name.find('88'); //找到'88'的位置
if( startpos != -1 )
{
name.replace(startpos,2,",");
}
}
cout << name << endl;
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式