我有一个小问题。我有一个接受两个参数(两个字符串)的函数。例如: String1 = "hello" String2 = "leo" 我需要从 String1 中的 String2 中删除所有字符。在这种情况下,我的最终结果应该是:“h”。这样做时我需要合并指针!到目前为止我已经得到了这段代码,但它只是从“hello”中删除了“e”。我不知道为什么它不起作用。如果有人有更好或更有效的方法,请帮助!
void rmstr(char str1[], char str2[])
{
//Pointers to traverse two strings
char *p_str1 = &str1[0];
char *p_skip;
int length = (int)strlen(str2);
int i;
while(*p_str1 != '\0')
{
for (i = 0; i < length; i++)
{
if(*p_str1 == str2[i])
{
for(p_skip = p_str1; *p_skip == str2[i]; ++p_skip);
memcpy(p_str1, p_skip, &str1[strlen(str1)+1] - p_skip);
}
if(*p_str1 != '\0')
{
++p_str1;
}
}
}
}