#include <stdio.h>
void string_trim(char *input) {
char *dest=input;
while(*input==' ') {
input++;
}
char *end=input;
while(*input) {
if((*dest++=*input++)!=' ') {
end=dest;
}
}
*end=0;
}
void test(const char *input) {
string_trim(work);
printf("*%s* -> *%s*\n",input
,work
); }
int main(void) {
test("test");
test(" test");
test(" test");
test("test ");
test("test ");
test(" te st ");
test("t");
test(" t");
test("t ");
test(" ");
test("");
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHN0cmluZ190cmltKGNoYXIgKmlucHV0KSB7CgljaGFyICpkZXN0PWlucHV0OwoJd2hpbGUoKmlucHV0PT0nICcpIHsKCQlpbnB1dCsrOwoJfQoJY2hhciAqZW5kPWlucHV0OwoJd2hpbGUoKmlucHV0KSB7CgkJaWYoKCpkZXN0Kys9KmlucHV0KyspIT0nICcpIHsKCQkJZW5kPWRlc3Q7CgkJfQoJfQoJKmVuZD0wOwp9Cgp2b2lkIHRlc3QoY29uc3QgY2hhciAqaW5wdXQpIHsKCWNoYXIgKndvcms9bWFsbG9jKHN0cmxlbihpbnB1dCkrMSk7CglzdHJjcHkod29yayxpbnB1dCk7CglzdHJpbmdfdHJpbSh3b3JrKTsKCXByaW50ZigiKiVzKiAtPiAqJXMqXG4iLGlucHV0LHdvcmspOwoJZnJlZSh3b3JrKTsKfQoKaW50IG1haW4odm9pZCkgewoJdGVzdCgidGVzdCIpOwoJdGVzdCgiIHRlc3QiKTsKCXRlc3QoIiAgdGVzdCIpOwoJdGVzdCgidGVzdCAiKTsKCXRlc3QoInRlc3QgICIpOwoJdGVzdCgiICB0ZSBzdCAgIik7Cgl0ZXN0KCJ0Iik7Cgl0ZXN0KCIgdCIpOwoJdGVzdCgidCAiKTsKCXRlc3QoIiAgIik7Cgl0ZXN0KCIiKTsKCXJldHVybiAwOwp9Cg==