一、字符串去空格(没有处理字符串中间的空格)
lTrim:除去字符串开头的空格 eg." abc123 " --> "abc123 "
rTrim:除去字符串末尾的空格 eg." abc123 " --> " abc123"
Trim:除去字符串开头和末尾的空格 eg." abc123 " --> "abc123"
品红色为空格
1.去除开头的空格
void lTrim(char * str) { int i , len ; len = strlen( str ) ; for( i=0; i<len; i++) { if( str[i] != ' ') break ; } memmove(str,str+i,len-i+1); return ; }
2.去除末尾的空格
void rTrim(char * str) { int i,len ; len = strlen( str ) ; for(i = len-1;i>=0;i--) { if( (str[i] != ' ')&&(str[i]!=0x0a)&&(str[i]!=0x0d) ) break ; } str[i+1] = 0 ; return ; }
3.去除开头和末尾的空格
void Trim(char * str) { int i , len ; //先去除左边的空格 len = strlen( str ) ; for( i=0; i<len; i++) { if( str[i] != ' ') break ; } memmove(str,str+i,len-i+1); //再去除右边的空格 len = strlen( str ) ; for(i = len-1; i>=0; i--) { if(str[i] != ' ') break ; } str[i+1] = 0 ; return ; }
也可以这样
void Trim(char * str) {
lTrim(str);
rTrim(str);
}
注:1.这里没有处理字符串中间的空格 eg." abc 123 " --> "abc 123"
2.这里只去除了“空格”和末尾的“回车”、“换行”符,其他的可以根据需要添加
" " (ASCⅡ 32(0x20)) 一个空格 " " (ASCⅡ 9(0x09)) tab键 " " (ASCⅡ 10 (0x0A)) 换行符 " " (ASCⅡ 13 (0x0D)) a carriage return. "