删除指定字符串及删除指定全部字符串
删除指定字符串:
函数有删除一个字符串的,有删除指定字符串的,注意不同函数的思路。
#include
#include
#include/* 方法一:删除全部指定字符串 */
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 delA
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
