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 關注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消