c++怎么删去字符串中的一段?比如删去string s="EFDS"中位置为1~3的一段 删去后s=“E”
2 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
字符串删除其中的一段:
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()函数也行。
守着一只汪
TA贡献1872条经验 获得超3个赞
用成员函数erase(intpos = 0, int n = npos)。如下:
string s="EFDS";
s.erase(1,3);
即可。意思是删除字符串s中下标为1开始的3个字符!
- 2 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消