Le he estado dando vueltas a este ejercicio y no logro hacerlo funcionar
Recibo un String y un caracter que lo separa y devuelvo un array con el String separado, si no hay nada retorna NULL. Creo que puede ayudar la funcion strtok pero no logro usarlo con claridad.
Ejemplo
Entrada: "foro/el/hacker"
Salida: ['foro', 'el', 'hacker']
Ejemplo
Entrada: "/hola/mundo"
Salida: ['hola', 'mundo']
Ejemplo
Entrada: "12/345/"
Salida: ['12', '345']
Ejemplo
Entrada: "::"
Salida: NULL
la firma del método es:
char** separar(char* aSeparar, char separador){
}
desde ya muchas gracias
Pon el código que tengas para ver tus avances. Entonces podremos ayudarte, si te hacemos nosotros el trabajo no sirve de nada... :-X
PD: Tampoco sé si estás con C o con C++...
Con C es usando strtok
Cita de: YreX-DwX en 26 Marzo 2019, 11:44 AM
Pon el código que tengas para ver tus avances. Entonces podremos ayudarte, si te hacemos nosotros el trabajo no sirve de nada... :-X
PD: Tampoco sé si estás con C o con C++...
Mi intencion no era esa, perdon. aclaro que es c++
tengo el siguiente codigo intentandolo pero no funciona
char** separarString (char* str, char separador, int &largoRet) {
int contador = 0;
char** matriz = new char *[1];
char separador1[] = { separador };
char * pasada1;
while ((pasada1 = strtok(str, separador1 )) != NULL){
contador++;
}
largoRet = contador;
if (contador > 0) {
matriz[1] = new char[contador];
char * pasada2;
for(int i = 0; i<largoRet ; i++){
pasada2 = strtok(str, separador1);
matriz[0]
= pasada2;
}
}
}
return matriz;
}
Coloca el código entre etiquetas de código GeSHi (hay un desplegable encima del cuadro de texto)...
El problema es que la función <strtok()> no se usa así. La primera vez se pasa la cadena original, y el resto de veces del bucle se pasa NULL como primer parámetro. Puedes mirar más información en otras fuentes. Suerte :-X