Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/05/2009, 19:24
Tikitios
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 16 años
Puntos: 3
Respuesta: Problemas concatenando

aqui tengo otro ejemplo con char*:
Cita:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>

using namespace std;

/* Halla la longitud de una cadena, hace las veces de strlen */
int longitud(char *cadena)
{
int i;
for(i=0; ;i++)
if(cadena[i]=='\0')
break;
return i;
}


/*
Concatena cadena1 y cadena2 y devuelve la cadena resultante en cadena
*/
void concatenar(char *cadena, char *cadena1, char *cadena2)
{
int i, l_cadena1, l_cadena2;

l_cadena1 = longitud(cadena1);
l_cadena2 = longitud(cadena2);

for(i=0; i<l_cadena1; i++)
cadena[i]=cadena1[i];
for(i=0; i<l_cadena2; i++)
cadena[l_cadena1+i]=cadena2[i];

cadena[l_cadena1+l_cadena2]='\0';
}

int main()
{
char cadena1[4] = "ABC";
char cadena2[20];


char *cadena;

cout <<"Ingrese algo."<< endl;
cin >> cadena2;

concatenar(cadena, cadena1, cadena2);

printf("Cadena 1: %s, caracteres: %d\n", cadena1, longitud(cadena1));
printf("Cadena 2: %s, caracteres: %d\n", cadena2, longitud(cadena2));
printf("Cadena resultante: %s, caracteres: %d \n", cadena, longitud(cadena));
system("PAUSE");
}
Ojalá te sirva.