スペースを除去

Cでスペースの除去とか地味にめんどくさい・・・・
文字列の関数だけPHPとかから借りたい・・・orz

char* trimLeftSpace(char *str){
	const char *p = str;
	while (isspace(*p)) {
		++p;
	}
	if (str != p) {
		memmove(str, p, strlen(p)+1);
	}
	return str;
}
char* trimRightSpace(char *str){
	char *p = str;
	char *last = NULL;
	while (*p != '\0') {
	if (isspace(*p)) {
		if (last == NULL) {
			last = p;
		}
		} else {
			last = NULL;
		}
		++p;
	}
	if (last != NULL) {
	*last = '\0';
	}
	return str;
}

呼び出し

	char t[12] ="    test   ";
	printf("trimOrg \"%s\" \n",t);
	trimLeftSpace(t);
	printf("trimL \"%s\" \n",t);
	trimRightSpace(t);
	printf("trimR \"%s\" \n",t);

結果

trimOrg "    test   " 
trimL "test   " 
trimR "test" 

ちょっとドンくさいけどとりあえず動いたのでOK
正月からなんて地味なんだ・・・