#include #include #include int StringIsSpace(int c) { if(c < 0) { return 0; } else { return isspace(c) != 0; } } char* StringTrim(char *s) { char* left; char* right; /* 空白、タブ、改行を除いた、文字列 s の先頭の位置 left を得る */ left = s; while(StringIsSpace(*left)) { left ++; } /* 空白、タブ、改行を除いた、文字列 s の末尾の位置 right を得る */ right = left + strlen(left) - 1; while(StringIsSpace(*right) && right >= s) { right --; } /* 両端の空白、タブ、改行を取り除いた文字列 s に変える */ right[1] = '\0'; memmove(s, left, strlen(left) + 1); return s; } int main(void) { char *s, *p; printf("文字列を入力して下さい。:"); scanf ("%s", s); p = StringTrim(s); printf("両端の空白、タブ、改行を取り除いた文字列は%sです。", p); return 0; }