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

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int long_cad(char cad1[]){
  5.          int i=0;
  6.          while(cad1[i] != '\0')
  7.               i++;
  8.          return i;
  9. }
  10.  
  11. char * concatener (char * cad1, chae * cad2)
  12. {
  13.      int longitud = long_cad(cad1) + long_cad(cad2)
  14.      char * buffer  = malloc(longitud * sizeof(char));
  15.      int i=0,j=0;
  16.  
  17.      while (cad1[i] != '\0')
  18.                   buffer[i] = cad1[i++];
  19.      while (cad2{[j] != '\0')
  20.                  buffer[i++] = cad2[j++];
  21.     buffer[i] = '\0'
  22.     return buffer;        
  23. }
  24.  
  25. int main(){
  26.          char cad1[100], cad2[100];
  27.          int long_total;
  28.          char * cadena;
  29.          printf("Introduce una cadena: ");
  30.          scanf("%99s", cad1);
  31.          printf("Introduce una cadena: ");
  32.          scanf("%99s", cad2);
  33.          cadena = concatenar(cad1, cad2);
  34.  
  35.          printf("Resultado de la concatenacion:  %s\n",cadena)
  36.          printf("La concatenación tiene un total de %d caracteres.\n", long_cad(cadena));
  37.          free(cadena);
  38. }

Ahi tenes tu codigo. Use memoria dinamica para realizar la concatenacion. Por eso despues la libero.
Tambien fijate que en la libreria "string.h" ya vienen esta funciones hechas. Pero nunca esta demas volver a hacerlas.