Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Dato Vagabundo en 11 Enero 2017, 21:28 PM

Título: Quitar espacios de un cadena de caracteres
Publicado por: Dato Vagabundo en 11 Enero 2017, 21:28 PM
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.
Título: Re: Quitar espacios de un cadena de caracteres
Publicado por: ivancea96 en 12 Enero 2017, 16:07 PM
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á