删除全部指定的字符串

来源:互联网 发布:游族网络vip殿堂 编辑:程序博客网 时间:2024/05/23 00:29

删除全部指定的字符串:

#include<stdio.h>#include<stdlib.h>#include<string.h>void delString(char *str, char *finstr){char *pstr = strstr(str, finstr);if (NULL == pstr){printf("没有找到要删除的字符串!");return;}/* 每次从删除后的字符串再查询是否有相应的字符串,如果找到则继续删除 *//* 这个FOR 效率低,每次都是从开头查询。 *///for (pstr; pstr != NULL; pstr = strstr(str, finstr))/* 每次从删除点开始向后查询,这样就可以提高效率,因为前面删除的就不需要再进行查询了 *//* 只是我们给的这个目标字符串是故意这样设置的,因为删除后又有同样的字符串被组合到了一起 */for (pstr; pstr != NULL; pstr = strstr(pstr, finstr)){//保保找到的字符串首地址char *temp = pstr;char *ptemp = pstr;ptemp += strlen(finstr);while (*temp != '\0'){*temp = *ptemp;temp++;ptemp++;}printf("%s\n", str);}}void main(){char str[1024] = "ab123aabbeababcab58ab";char *p = "ab";printf("%s\n", str);delString(str, p);printf("删除后的字符串:");printf("%s\n", str);system("pause");}


0 0
原创粉丝点击