如何在一个字符串中找出固定的几个字符删除,留下剩余字符。。

例如 A=4321 1234 567 b=1234运行后 A=4321 567。。。
2025-01-03 20:52:42
推荐回答(2个)
回答1:

#include "stdio.h"
#define MAXSIZE 50
void DeleteStr(char a[],char str[]);
int GetLength(char a[]);
int main()
{
char a[MAXSIZE];
char b[MAXSIZE];
printf("输入第一个数组:\n");
scanf("%s",a);
printf("输入第二个数组:\n");
scanf("%s",b);
DeleteStr(a,b);
printf("%s\n",a);
return 0;
}
int GetLength(char a[])
{
char *p = a;
int len = 0;
while (*p !='\0' )
{
len++;
p++;
}
return len;
}
void DeleteStr(char a[],char str[])
{
int n = 0;
int i = 0;
int len_a = GetLength(a);
int len_str = GetLength(str);
while (n < len_a)
{
while (a[n+i] == str[i] && str[i] != '\0')
{
i++;
}
if (str[i] == '\0')
{
int k = n;
while(1)
{
a[k] = a[k+len_str];
if (a[k] == '\0')
{
break;
}
k++;
}
i = 0;
}
n++;
}
}

回答2:

你试试正则表达式把!网上的相关资料很多!正则学好了!对你的未来发展很有帮助的!