删除全部空格
char *trim_all(char *s)
{
char *p=s, *sa=s;
while (*p) {
if(*p!=' ')
*s++ = *p;
p++;
}
*s=0;
return sa;
}
删除前面和后面的空格
char *strtrim(char *s){
char *p = s, *q = s, *o = s;
while(*s == ' ') s++;
while(*s){
if((*p++ = *s++) != ' ') q = p;
}
*q = 0;
return o;
}
本程序中的函数 del_space(s) 实现的功能是将已知字符串s中的前导空白符和
尾随空白符删除,并将字符串中间部分的连续多个空白符删减为一个空白符
char *del_space(char *s)
{
char *p = s, *q = s;
for(;*s==' ';s++) ; /*删除前导空白符*/
for(; *s; ) /*遍历s字符串其它字符*/
{
*q++ = *s;
if( *s != ' ') *q=*s++;
else
while(*s==' ') s++;
}
if( q>p && *(q-1)== ' ') /*设定字符串结束符号*/
*(q-1)='/0';
else *q = '/0';
return p;
}
删除字符串
char *trim_all_sub(char *s,char *sub)//删除字符串s里的sub字符串,只是在结尾加'/0';
{
char *p=s, *sa=s,*p1=sub,*pc;
while (*p) {
pc=p;
while(*p==*p1 && *p)
{
p++;
p1++;
}
if(*p1!=0)
p=pc;
p1=sub;
*s++ = *p;
p++;
}
*s=0;
return sa;
}