猿问

想要删去字符串中的一段,请问该怎么做?

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

比如删去string s="EFDS"中位置为1~3的一段 删去后s=“E”

皈依舞
浏览 125回答 2
2回答

翻过高山走不出你

字符串删除其中的一段: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()函数也行。

守着一只汪

用成员函数erase(intpos = 0, int n = npos)。如下:string s="EFDS";s.erase(1,3);即可。意思是删除字符串s中下标为1开始的3个字符!
随时随地看视频慕课网APP
我要回答