Ну, так как вы используете триммер C, это не вариант.
Прежде всего, что вы думаете о линии:
str [i] = str [i ++];
?
Это в основном так же, как
я ++;
Теперь к коду:
char *mystring, *read, *write;
// mystring gehts filled with a null terminated string here
read = mystring;
write = mystring;
while(*read != '\0') {
if(*read == ' ')
read++;
else
*write++ = *read++;
}
*write = '\0';
Если вы хотите записать в другую строку, просто укажите точку записи в том месте, где вы хотите ее видеть. Не забудьте проверить, что там достаточно места;)