Título: Problema al delimitar con la función strtok Publicado por: methisblue en 5 Abril 2018, 23:52 pm Hola , tengo una duda al delimitar con la función strtok y es que ¿cómo puedo delimitar una frase por las comillas (")?. Es decir, a mi me dan una frase como esta: " Pepe" come frutas , donde me piden que parta esa frase y guarde Pepe en un string sin las comillas, por lo que lo que he hecho ha sido partir "Pepe" en tres con esa función y coger el cacho de en medio que lleva la palabra que busco pero claro , el compilador se me queja cuando pongo esto: ptr=strtok(const_cast<char*>(name.c_str()) , " " " ); Entonces, alguno sabe alguna forma de poder coger ese nombre ya bien sea del modo que yo he dicho o con otro diferente? Un saludo y gracias de antemano.
Título: Re: Problema al delimitar con la función strtok Publicado por: Kenji-chan en 6 Abril 2018, 01:07 am pon tu codigo.
pero creo que uno de los errores es que estas poniendo mal el limitador en c/c++ no puedes hacer esto """ para introducir una comillas dentro de comillas haces esto "\"" Título: Re: Problema al delimitar con la función strtok Publicado por: methisblue en 6 Abril 2018, 13:45 pm Sii, era eso lo que me pasaba, pero lo he arreglado y ahora si que funciona peor donde deberia guardarse el nombre se guarda un espacio en blanco, adjunto código:
(El código está hecho basándome en quitar las comillas a un nombre pej : "PEPE") ptr=strtok(const_cast<char*>(name.c_str()) , " \" " ); cont=0; string nombre[2]; while((ptr=strtok(NULL , " \" " )) !=NULL){ //Quitar comillas del nombre nombre[cont]=ptr; cont++; } name= nombre[1]; Título: Re: Problema al delimitar con la función strtok Publicado por: Kenji-chan en 6 Abril 2018, 14:08 pm primero el código se pone entre etiquetas GeSHi
segundo en la condición del while no pones la función strtok Código
este código me da como salida pepe como frutas ya que la funcion strtok devuelve un puntero al primer token encontrado en la cadena y devuelve un puntero nulo si no quedan tokens para recuperar Título: Re: Problema al delimitar con la función strtok Publicado por: methisblue en 6 Abril 2018, 16:05 pm Vale, ya esta solucionado. Muchisimas gracias en serio :D
|