Chinaunix首页 | 论坛 | 博客
  • 博客访问: 624154
  • 博文数量: 144
  • 博客积分: 5037
  • 博客等级: 大校
  • 技术积分: 1581
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-30 21:49
文章存档

2010年(16)

2009年(128)

分类: WINDOWS

2009-04-10 20:14:43

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

void cut(char *str1, char *str2)
{
    int num=0;
    char dest[100] = {" "}, *result;
    int n;
    n = strlen(str1);

    while(result=strstr(str1, str2))
    {        
        strncpy(dest, str1, (strlen(str1)-strlen(result)));
        dest[strlen(str1)-strlen(result)]='\0';//这个是在每次拷贝完后在在字符串的末尾加\0强制结束
        printf("%s\n", dest);
        memset(dest, 0, 100);
        str1=result+strlen(str2);

        num++;
    }
    puts(str1);
    
    printf("分割后一共成了%d段\n",num + 1);
}

int main()
{    
    char *str1 = "abcdefgbchevbcklbcda";
    char *str2 = "bc";    
    
    printf("被切割的字符串是:参考的字符串是:%s\n", str1);
    printf("参考的字符串是:%s\n", str2);
    cut(str1, str2);    
    return 0;
}

结果:

被切割的字符串是:参考的字符串是:abcdefgbchevbcklbcda
参考的字符串是:bc
a
defg
hev
kl
da
分割后一共成了5段

阅读(501) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~