Código
void trim (char *cadena) { int ini, fin; while(fin >0 && (cadena[fin]==' ' || cadena[fin]=='\t' || cadena[fin]=='\n' || cadena[fin]=='\r')) fin--; fin++; cadena[fin]='\0'; ini=0; while(ini<fin && (cadena[ini]==' ' || cadena[ini]=='\t' || cadena[ini]=='\n' || cadena[ini]=='\r')) ini--;
Los espacios son los del principio y el final solamente.