當前位置:編程學習大全網 - 編程軟體 - C語言編程 自定義從字符串中刪除指定的字符函數

C語言編程 自定義從字符串中刪除指定的字符函數

char* remove_chars(char *str,const char *rmchars)//刪除str中所有包含在rmchars中的字符

{

char buff[256]={0};

char *ps1,*ps2;

ps1=(char *)rmchars;

while(*ps1)

buff[*ps1++]=1;//遍歷rmchars,將要刪除的字符對應在buff中的位置1

ps2=str;

while(*ps2)//遍歷str,將要刪除的字符置為1

{

if(1==buff[*ps2])

*ps2=1;

ps2++;

}

ps1=str;

ps2=str;

while(0!=*ps1)//調整str中字符位置,刪除所有置為1的位

{

if(1!=*ps1)

{

ps1++;

continue;

}

ps2=ps1+1;

while(0!=*ps2 && 1==*ps2)

ps2++;

if(0==*ps2)

break;

*ps1++=*ps2;

*ps2=1;

}

*ps1=0;

return str;

}

壹樓的:

只能刪除第壹個字符,而且後面的寫法是錯誤的。

二樓的:

沒有釋放內存,也是只能刪除相同的壹個字符。

  • 上一篇:基於單片機音樂跑馬燈程序
  • 下一篇:學什麽計算機開發語言好?
  • copyright 2024編程學習大全網