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#include <stdio.h>
#include <string.h>
int main (){
char *cadenota = "Quiero separar esta cadena en dos subcadenas";
char subcadena1[50];
char subcadena2[50];
int tamanio = 10;
bzero((char *)&subcadena1, sizeof(subcadena1));
bzero((char *)&subcadena2, sizeof(subcadena2));
if(subCadena(cadenota, (char *)&subcadena1, 0, tamanio) < 0){ //subCadena de 10 elementos a partir del indice 0
printf("Error al obtener subCadena1\n"); return 0;
}
if(subCadena(cadenota, (char *)&subcadena2, tamanio, tamanio * 2) < 0){//subCadena de 20 elementos a partir de indice 10
printf("Error al obtener subCadena2\n"); return 0;
}
printf("Original: %s\n", cadenota
); printf("Subcadena1: %s\n", subcadena1
); printf("Subcadena2: %s\n", subcadena2
); return 1;
}
int subCadena(char *cadena, char *destino, int desde, int tamanio){
int contador = 0;
while(contador < tamanio){
if(cadena[desde + contador] == 0){
return -1;
}
destino[contador] = cadena[desde + contador] ;
contador++;
}
return contador;
}
Me arroja este resultado
Código:
Original: Quiero separar esta cadena en dos subcadenas
Subcadena1: Quiero sep
Subcadena2: arar esta cadena en