/*这应该就是你要的*/
#include <stdio.h>
#include <string.h>
#define SIZE 100 //字符串大小
void dels(char a[], char b[]);
int main()
{
char str1[SIZE] = "\0"; //初始化字符串;
char str2[SIZE] = "\0"; //初始化你要删除的子字符串;
size_t len_des = 0;
gets(str1); //输入你要的字符串,如果有现成的可以删了这行;
gets(str2); //输入你要删除的字符串,如有同上;
dels(str1,str2); //调用函数删除并输出;
printf("\n"); //为了好看,加个回车;
return 0;
}
void dels(char a[], char b[]) //该函数用来删除指定的子串
{
size_t len_b = strlen(b); //要删除的字符串长度;
for(size_t i = 0; a[i] != '\0';)
{
if(strncmp(&a[i], b, len_b) == 0) //调用strncmp函数从 a[i] 的位置与 b 比较
i += len_b; //如有相同,使 i 加 len_b , 下次从这个位置检查;
else
{
putchar(a[i]); //输出不相同的地方;
i++;
}
}
}
温馨提示:答案为网友推荐,仅供参考