![]() ![]() |
|
C实例编程(删除子字符串的程序) | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/11/1 20:40:21 文章录入:杜斌 责任编辑:杜斌 | |
|
|
#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 -- 子字符串 ** 若成功找到子字符串并删除之,考试大提示返回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; } |
|
![]() ![]() |