刪除子字串的程式

來源:互聯網
上載者:User

一個刪除子字串的程式,沒有使用C的相關字串庫函數:

#include <stdio.h>
int del_substr(char *str,char const *substr);
int my_strlen(char const *str);
int main(void)
{
char str[] = "abcdefgh";
char *substr1 = "efg";
char *substr2 = "fgr";
printf("%d\t%s\n",del_substr(str,substr1),str);
printf("%d\t%s\n",del_substr(str,substr2),str);
return 0;
}
/**
** str -- 字串
** substr -- 子字串
**www.bianceng.cn整理
** 若成功找到子字串並刪除之,提示返回1,若沒找到則返回0
**/
int del_substr(char *str,char const *substr)
{
int i = 0;
char *temp_str = str;
char const *temp_substr = substr;
int sub_len = my_strlen(substr);
while(1)
{
if(*temp_str == *temp_substr)
{
temp_substr++;
if(*temp_substr == '\0')
{
break;
}
}
else
{
temp_substr = substr;
}
if(*temp_str == '\0')
{
return 0;
}
temp_str++;
}
char *preDel = temp_str - (sub_len - 1);
while(*(preDel + (i+sub_len)) != '\0')
{
*(preDel + i) = *(preDel + (i+sub_len));
i++;
}
*(preDel + i) = '\0';
return 1;
}
int my_strlen(char const *str)
{
int len = 0;
while( *str++ != '\0')
{
len++;
}
return len;
}

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。