Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103423
  • 博文数量: 34
  • 博客积分: 30
  • 博客等级: 民兵
  • 技术积分: 217
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-10 23:36
文章分类
文章存档

2013年(34)

我的朋友

分类: C/C++

2013-04-28 10:37:39

#include <stdio.h>
#include <string.h>

int main()
{
    char str[] = "askdaskaskdaskg";
    char del[] = "a";
   
    char* p;
    char* q;
   
    int strLen = strlen(str);
    int delLen = strlen(del);
    char* buf = new char[strLen+1];
    char* r = buf;
   
    // 初始化数据
    p = str;
    // 找到第一个想要删除的字符串
    q = strstr(p, del);
    while(q!=NULL)
    {
        // 复制剩余字符串
        while(p<q)
        {
            *r++ = *p++;
        }
        // 跳过删除的字符串
        p = q+delLen;
        // 查找第二个欲删除的字符串
        q = strstr(p, del);
    }
    // 复制剩余的字符串
    while(*p)
    {
        *r++ = *p++;
    }
    *r = 0;
   
    printf("%s\n", buf);
   
    return 0;
}
阅读(1001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~