Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/10/2010, 08:51
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 14 años, 1 mes
Puntos: 9
Respuesta: convertir cadena de caracteres en dos subcadenas de tamaños predeterminado

no se si sea exactamente lo que necesitas, pero aqui hice un pequeño programa con una funcion para obtener sub cadenas utilizando arreglos de chars.
Código c:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main (){
  5.   char *cadenota = "Quiero separar esta cadena en dos subcadenas";
  6.   char subcadena1[50];
  7.   char subcadena2[50];
  8.   int tamanio = 10;
  9.   bzero((char *)&subcadena1, sizeof(subcadena1));
  10.   bzero((char *)&subcadena2, sizeof(subcadena2));
  11.   if(subCadena(cadenota, (char *)&subcadena1, 0, tamanio) < 0){ //subCadena de 10 elementos a partir del indice 0
  12.     printf("Error al obtener subCadena1\n");
  13.     return 0;
  14.   }
  15.   if(subCadena(cadenota, (char *)&subcadena2, tamanio,  tamanio * 2) < 0){//subCadena de 20 elementos a partir de indice 10
  16.     printf("Error al obtener subCadena2\n");
  17.     return  0;
  18.   }
  19.   printf("Original: %s\n", cadenota);
  20.   printf("Subcadena1: %s\n", subcadena1);
  21.   printf("Subcadena2: %s\n", subcadena2);
  22.   return 1;
  23. }
  24.  
  25.  
  26. int subCadena(char *cadena, char *destino, int desde, int tamanio){
  27.   int contador = 0;
  28.   while(contador < tamanio){
  29.     if(cadena[desde + contador] == 0){
  30.       return -1;
  31.     }
  32.     destino[contador] = cadena[desde + contador] ;
  33.     contador++;
  34.   }
  35.   return contador;
  36. }

Me arroja este resultado
Código:
Original: Quiero separar esta cadena en dos subcadenas
Subcadena1: Quiero sep
Subcadena2: arar esta cadena en