Ver Mensaje Individual
  #9 (permalink)  
Antiguo 23/07/2010, 11:13
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: concatenar varias cadenas

Si el main no esta a lo ultimo, el compilador no va a encontrar las demas funciones que defini. Obviamente que hay una solucion para esto que es agregar la cabeceras al principio:

int long_cad(char cad1[]);
char * concatener (char * cad1, chae * cad2);

Si agregas eso entre los #include y la primera funcion, da lo mismo el orden en que defina las funciones.

Mi funcion concatener devuelve una cadenas de caracteres, no de enteros. Vos acasos querias que devuelva solo la longitud de la concatenacion??
En mi caso devuelve el puntero a la cadena concatenada.

La variable buffer la utilizo para llevar un puntero a memoria. En donde guardare la cadena final. Con malloc lo que se hace es reservar memoria para la cadena. Por eso reservo la suma de las longitudes y lo multiplico por sizeof(char) para me uqe guarde espacio para caracteres.

Despues lo que hago en la funcion concatener, return buffer, devuelvo el valor de la variable buffer, que tiene la direccion a la reserva de memoria. Por lo tanto, al retorno tengo una cadena de caracteres concatenada.

Para el trabajo de cadenas de caracteres te recomiendo que lees sobre punteros en C++....