【C语言】VC6.0显示*****.exe已停止工作
/*
**删除一个字符串的一部分
*/
#include<stdio.h>
#define NUL '\0' /*'\0'不好打*/
char *match( char *str, char *substr);
int del_substr( char *str, char *substr);
main()
{
char *str="ABCDEFG";
char *substr="CDE"; /*返回指针的函数*/
del_substr(str,substr);
puts(str);
}
/*
**为了清楚,单独写一个子函数实现判断两个字符串匹配
*/
char *match(char *str,char *substr)
{
while(*substr!=NUL)
if(*str++!=*substr++)
return NUL;
return str;
}
/*
**删除子串函数
*/
int del_substr(char *str,char *substr )
{
char *next;
/*
**保证被操作字符串不为空
*/
while(*str!= NUL)
{
next=match(str,substr);
if(next!= NULL)
break;
str++;
}
/*
**到达源字符串文件尾的时候,说明没有子串
*/
if(*str==NUL)
return 0;
/*
**被删除子串之后的字符复制操作
*/
while(*str++=*next++);/*字符串拷贝*/
return 1;
}