c++怎么删去字符串中的一段?

比如删去strings="EFDS"中位置为1~3的一段删去后s=“E”... 比如删去string s="EFDS"中位置为1~3的一段 删去后s=“E” 展开
 我来答
liugongbai
推荐于2017-09-18 · TA获得超过291个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:207万
展开全部

字符串删除其中的一段:

A:删除指定的范围(比如,从M到N个字符)

void  strDelete(char * str,int n_begin,int n_end,int nstrlenth)
{
    //判断nm的有效性代码略过
    //直接把字符串n_begin开始,把n_end部分的拷贝过来,最后字符串末尾加结束符。
    //比如str为123456789   n_begin为2,n_end为4,
    //则str+n_end 为56789 ,直接把56789接到12后面。变成1256789。最后加\0
   memcpy(str+n_begin,str+n_end,nstrlenth-n_end+n_begin);
   str[nstrlenth-n_end+1] ='\0';
    
}

 直接用string的erase()函数也行。

White_MouseYBZ
推荐于2017-10-07 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6704万
展开全部
用成员函数erase(intpos = 0, int n = npos)。如下:
string s="EFDS";
s.erase(1,3);
即可。意思是删除字符串s中下标为1开始的3个字符!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式