#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)
}