Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: NeoB en 9 Abril 2012, 22:40 pm



Título: Ayuda en C. Unir char a char[] SOLUCIONADO
Publicado por: NeoB en 9 Abril 2012, 22:40 pm
Buenas, tengo un problema que no consigo resolver en C, y espero que puedan ayudarme.
Quiero unir un char (ejemplo '9') a una cadena (ejemplo "6533") de forma que luego imprima la cadena y sea "65339".
He googleado bastante y veo que con strcat() puedo unir dos cadenas, pero yo quiero unir una cadena y un carácter, y al intentarlo con strcat() me da error.
¿Hay alguna función que lo haga? ¿De que manera puedo hacerlo? Gracias.


Título: Re: Ayuda en C. Unir char a char[]
Publicado por: DaniekL en 9 Abril 2012, 23:22 pm
Prueba esto

Código
  1. char *cadena;
  2. int numero;
  3. strcat(cadena, itoa(numero));


Título: Re: Ayuda en C. Unir char a char[]
Publicado por: durasno en 9 Abril 2012, 23:39 pm
Hola! como itoa no es estandar, lo que podrias hacer es buscar la posicion donde se encuentra el caracter '\0' y ahi guardes ese caracter que queres concatenar. No te olvides que despues del caracter guardado tenes que guardar el '\0' al final

Saludos

PD: acordate que el arreglo tiene q ser lo suficientement grande como para guardar un caracter mas(si trabajas con punteros vas a tener q reservar memoria)


Título: Re: Ayuda en C. Unir char a char[]
Publicado por: armizh en 10 Abril 2012, 00:22 am
A mi se me ocurre esta solución!
Código
  1. char * cadena;
  2. char caracter;
  3. /* ... */
  4. for(;*cadena='\0';*cadena++);
  5. *cadena++ = caracter;
  6. *cadena = '\0';
Todo esto dentro del main... claro, es una de las soluciones que se me ocurre :D Espero que se entienda bien lo que se esta haciendo con esto...

Saludos!


Título: Re: Ayuda en C. Unir char a char[]
Publicado por: Beakman en 10 Abril 2012, 02:35 am
strcat recibe dos char*. Si querés pasarle un solo carácter podés agregarle un '\0'.
Código
  1. char caracter = 'a';
  2. char aux[ 2 ];
  3. aux[ 0 ] = caracter;
  4. aux[ 1 ] = '\0';


Título: Re: Ayuda en C. Unir char a char[]
Publicado por: NeoB en 10 Abril 2012, 23:07 pm
Ok, ya lo solucioné, ¡se me había olvidado poner al final un '\0' !! ...fallo tonto... Muchas gracias.