C实例编程(删除子字符串的程序) |
|
www.nanhushi.com 佚名 不详 |
一个删除子字符串的程序,没有使用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 -- 子字符串 ** 若成功找到子字符串并删除之,考试大提示返回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; }
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 下面的C++代码能编译么? 下一篇文章: C技巧(通过注册表寻找应用程序路径) |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|