不使用string.h库从字符串中删除字符

时间:2014-11-10 05:56:31

标签: c

我正在做一个赋值,它要求在不使用string.h库的情况下从字符串中删除一些字符,这是我的代码:

 int deleteFunc(char chara[100], char a)
{
    int i ;
    for ( i = 0 ; i < 100; i++)
      if (a == chara[i])
       return TRUE;
   else return FALSE;
}

我虽然在我的deleteFunc中有一些问题,但我不知道如何解决这个问题,任何人都可以提供帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

deleteFunc更改为

int deleteFunc(char chara[100], char a){
    int i ;
    for ( i = 0 ; i < 100 && chara[i]; i++)//'\0' after the garbage data
        if (a == chara[i])
            return TRUE;
    return FALSE;//If that does not match all of the candidate
}

并在主

*pointer = '\0';
printf("String after removing is \"%s\"\n", start);//Display prior to release, or written back

答案 1 :(得分:0)

请查看以下可能有用的代码。

int main()
{
    int i=0,j=0,k=0,q;
    char a[20],b[20];
    char *p = malloc(20);
    scanf("%s %s",a,b);
     while(a[i] != '\0')
     {
         j=0;
         q =0;
         while(b[j] != '\0')
         {
            if(a[i] == b[j])
            {
                q  =1;
                break;
            }
            j++;
         }
         if(!q)
         p[k++] = a[i];
         i++;
     }
     p[k] = '\0';
     printf("%s\n",p);
     free(p);
     return 0;
}