/*写一个trim函数,用来去除字符串前后的制表符制表符只考虑'','\t','\r','\n','\b'这五种*/#include#includeintmain(void){charsbuff[128];gets(sbuff);printf("...
/*
写一个trim函数,用来去除字符串前后的制表符
制表符只考虑' ','\t','\r','\n','\b'这五种
*/
#include
#include
int main ( void )
{
char sbuff[128];
gets(sbuff);
printf( "%s" ,trim ( sbuff ) );
system("pause");
return 0;
}
int IsSeptember(char ch)
{
return (ch==' ')||(ch=='\t')||(ch=='\n')||(ch=='\r')||(ch=='\b');
}
char *trimleft(char *s)
{
char *ts = s;
int count = 0;
while ( IsSeptember ( *ts ) )
ts++;
count = ts-s;
while( *ts )
{
*( ts - count ) = *ts;
ts++;
}
*( ts - count ) = '\0';
return s;
}
char *trimright ( char *s )
{
char *ts = s;
while( *ts )
ts++;
do
{
ts--;
}
while( ( ts >= s ) && IsSeptember (*ts ) );
*( ts+1 ) = '\0';
if ( ts==s )
*ts='\0';
return s;
}
char *trim ( char *s )
{
return trimleft ( trimright ( s ) );
}
展开