C语言 如何利用trim函数出除字符串头尾的指定字符

2025-05-21 20:49:06
推荐回答(2个)
回答(1):

1、trim()方法返回调用字符串对象的一个副本,但是所有起始和结尾的空格都被删除了,例子如下:String s=" Hello World ".trim();就是把"Hello World"放入s中。

2、例程:

void trim(char* s, char c)
{
    char *t  = s;
    while (*s == c){s++;};
    if (*s)
    {
        char* t1 = s;
        while (*s){s++;};
        s--;
        while (*s == c){s--;};
        while (t1 <= s)
        {
            *(t++) = *(t1++);
        }
    }
    *t = 0;
}
int main()
{
    char mm[] = "**hello word!**";
    trim(mm, '*');
    printf("%s\n", mm);
}

回答(2):

void trim(char* s, char c)
{
char *t  = s;
while (*s == c){s++;};
if (*s)
{
char* t1 = s;
while (*s){s++;};
s--;
while (*s == c){s--;};
while (t1 <= s)
{
*(t++) = *(t1++);
}
}
*t = 0;
}
int main()
{
char mm[] = "**hello word!**";
trim(mm, '*');
printf("%s\n", mm);