论坛首页 入门技术论坛

用C实现trim函数

浏览 3246 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-02-03  
static void trim(char *s)
{
    char *c = s + strlen(s) - 1;
    while (isspace(*c) && c > s) {
        *c = '\0';
        --c;
    }
}
 
   发表时间:2010-01-01  
這個函數連字符串中間的空格都去掉了,傳統的trim函數不會。
0 请登录后投票
   发表时间:2010-01-18  
仿照java版本的trim函数写的。总感觉有些怪怪的感觉。c新手。
char* trim(char *s) {
	int length = strlen(s);
	int i = 0,index = 0,probe = 0;
	char *sp = (char*) malloc(length * sizeof(char));

	for (i = 0; i < length; i++) {
		sp[i] = ' ';
	}
	sp[length] = '\0';

	while (*s) {
		if (!(probe == 0 && isspace(*s))) {
			probe = 1;
			sp[index++] = *s;
		}
		s++;
	}

	length = strlen(sp);

	for (i = length - 1; i > 0; i--) {
		if (isspace(sp[i])) {
			sp[i] = '\0';
			continue;
		}
		break;
	}

//	free(sp);
	return sp;
}
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics