c语言去掉字符串的空格函数trim

Python010

c语言去掉字符串的空格函数trim,第1张

c语言去掉字符空格函数 void trim(char *s){} 如下:

#include <stdio.h>

void trim(char *s){

int i,L

L=strlen(s)

for (i=L-1i>=0i--) if (s[i]==' ')strcpy(s+i,s+i+1)

}

int main(){

char s[100]

printf("input 1 line string\n")

gets(s)

trim(s)

printf("%s\n",s)

return 0

}

例如:

input 1 line string

abc 123 XYZ |

输出:abc123XYZ|

楼主你好。

这是一个trim尾部的函数。

int mytrim(char s[])

{

int i=mystrlen(s)-1 //首先,i指向字符串最后一个字符

for(i>=0i--)//在i>=0(也就是在字符串内部)的情况一下一直循环。

if(s[i]!='\t'&&s[i]!='\r'&&s[i]!='\n')//若当前字符s[i]不是'\t'、'\r'、'\n'则跳出循环(说明找到了结尾处的第一个有意义的字符,'\t''\r''\n'都是需要被trim的字符)

break

s[i+1]='\0'//在s[i+1]出放置一个字符串结束符'\0'。

return i

}

比如一个字符串char str[]="abc\r\n",经过mytrim之后就变成了"abc"。

希望对你有帮助,有不懂的可以追问我。

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)

}