• Sábado 14 de Diciembre de 2024, 17:41

Autor Tema:  Unir cadenas con puntero  (Leído 1597 veces)

utz

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Unir cadenas con puntero
« en: Viernes 26 de Septiembre de 2008, 20:33 »
0
Hola, estoy comensando a trabajar con punteros y funciones, y se me presento un pequeño problema... no encuentro la forma de meter una cadena2 en una cadena1. Les explico lo que quiero hacer:

le pido por teclado al usuario que ingrese una cadena:

cadena1: Hola.

luego le pido que me ingrese una segunda cadena:

cadena2: Mundo.

y luego le muestro por pantalla la cadena1 modificada.

cadena1: Hola.Mundo.



Hacerlo sin punteros se que es facil, pero con puntero no se que hacer.


una de las cosas que se me ocurre es recorrer la cadena1 de esta forma:

while(*cadena1 != ''){
                                   *cadena1++,
                                }

despues recorrer la cadena2, pero no se me ocurre como juntarlas.

por favor si me pueden explicar como acerlo seria de gran ayuda.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Unir cadenas con puntero
« Respuesta #1 en: Sábado 27 de Septiembre de 2008, 00:49 »
0
Juntarlas, lo que se dice juntarlas, no puedes. Lo que sí puedes es copiar una al final de la otra. Por ejemplo, suponiendo que ya tienes las cadenas apuntadas por cadena1 y cadena2:

Código: C
  1.  
  2. char *cadenafinal, *aux;
  3.  
  4. /* Reservamos el espacio */
  5. cadenafinal = (char *) malloc(strlen(cadena1)+strlen(cadena2)-1);
  6. /* Copiamos cadena1 al cadenafinal, incluído del byte NULL */
  7. strcpy(cadenafinal,cadena1);
  8. /* Para no modificar cadenafinal */
  9. aux = cadenafinal;
  10. /* Apuntamos al byte NULL del final de cadena1 en cadenafinal */
  11. aux = aux + strlen(cadena1);
  12. /* Copiamos la segunda cadena, con byte NULL al final */
  13. strcpy(aux,cadena2);
  14. /*Ya tenemos la concatenación de cadena1 + cadena2 en cadenafinal */
  15.  
  16.  

utz

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Unir cadenas con puntero
« Respuesta #2 en: Domingo 28 de Septiembre de 2008, 11:33 »
0
gracias por tu ayuda, aunque ya tengo algo que creo se me acomoda mas con la "strcat".}


saludos