Hola buenas , he creado una función que elimina espacios de una cadena, pero tengo algunas dudas a la hora de terminarla, ya que con esto no me los junta. Si alguien puede echarme una mano.. Gracias!!
void trim (char *cadena)
{
int ini, fin;
fin=strlen(cadena)-1;
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.
Echando un vistazo rápido, en lal ínea 12 tienes un problema, y es que pusiste "ini--" (acabaría dando números negativos)
En cualquier caso, si aun no lo corregiste, pon un ejemplo de una entrada y un ejempo de la salida que te dá