Buenas, mi duda es la siguiente:
Pretendo crear una función que me copie simplemente dos cadenas (se que existen funciones para eso en C++, pero el final a donde quiero llegar es más complejo que solo eso).
He probado a crearlo con un string sin inicializar y me lo depura bien No obstante, cuando tiene que copiar las cadenas se queda pillado, me da error y se cierra sin cumplir su función.
Solo me va el programa si inicializo el string con cualquier cadena de caracteres mayor que la que quiero copiar, pero si muestro por pantalla el resultado aparecen la cadena copiada y después los carácteres sobrantes de la segunda cadena.
El código de la fución sería:
string url(string cad)
{string c1;
int i=0;
int j=0;
while (cad[i]!='\0')
{
c1[j]=cad[i];
j++;
i++;
}
return c1;
}
He probado a cerrar manualmente las cadenas con \0 y a hacerlo mediante punteros y siempre me da error. De todas formas pienso que esta es la forma más sencilla y debería funcionar.
Utilizo Visual C++. Es posible que sea problema del programa?
Muchas gracias por las respuestas.
Un saludo.