Código
Tengo que hacerla mediante punteros, es un tema que me cuesta mucho(memoria dinamica). Esto es lo que hace la funcion:
struct textoenstruct; typedef textoenstruct *puntero_a_struct; struct textoenstruct { char caracteres[21]; nat longitud; }; puntero_a_struct concatenar_texto(puntero_a_struct t1, puntero_a_struct t2) { /* si es mayor a 20 eliminar todo el resto */ final->caracteres[i] = '\0'; } } return final; }
Creo "textoenstruct" mediante new, el cual tiene de longitud (strlen(t1 ->caracteres)+strlen(t2 ->caracteres)), ya que los estoy concatenando (Pero tambien concatena el espacio en blanco) lo cual, ahora que lo pienso, contradice el concepto de memoria dinamica
ya que le estoy asignando un tamaño estatico, luego digo que en caso que la longitud del vector sea mayor a 20, coloque todos los caracteres posteriores como "\0" ya que esto seria como que estuvieran borrados cierto?
Entonces tengo un nuevo vector con los primeros 20 elementos del texto concatenado, pero en la practica el resultado es diferente, tiene muchos espacios en blanco
Y con esta linea asi como esta, el programa no compila:
Código
Nop entiendo cual es el problema de colocar esto asi