Título: Subdividir un String por un caracter separador en un array Publicado por: sebapoli00 en 25 Marzo 2019, 22:54 pm 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 Título: Re: Subdividir un String por un caracter separador en un array Publicado por: K-YreX 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++... Título: Re: Subdividir un String por un caracter separador en un array Publicado por: MAFUS en 26 Marzo 2019, 15:45 pm Con C es usando strtok
Título: Re: Subdividir un String por un caracter separador en un array Publicado por: sebapoli00 en 26 Marzo 2019, 19:00 pm 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; } Título: Re: Subdividir un String por un caracter separador en un array Publicado por: K-YreX en 26 Marzo 2019, 23:09 pm 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 |