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條經驗 獲得超4個贊
用成員函數erase(intpos = 0, int n = npos)。如下:
string s="EFDS";
s.erase(1,3);
即可。意思是刪除字符串s中下標為1開始的3個字符!
- 2 回答
- 0 關注
- 183 瀏覽
添加回答
舉報
0/150
提交
取消
