elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Java [Guía] Patrones de diseño - Parte 1


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Cómo convertir un string en una lista de strings
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cómo convertir un string en una lista de strings  (Leído 2,990 veces)
JonaLamper


Desconectado Desconectado

Mensajes: 391



Ver Perfil
Cómo convertir un string en una lista de strings
« en: 15 Octubre 2015, 15:26 »

Buenas,

Supongamos que tengo el string:

"Pablito clavo un clavito en la calva de un calvito"

y quiero sacar (sin usar un bucle) una lista de strings con cada una de las palabras, algo así:

Pablito
clavo
un
clavito
en
la
calva
de
un
calvito


¿Cómo podría hacerlo?


« Última modificación: 15 Octubre 2015, 15:28 por JonaLamper » En línea

Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Cómo convertir un string en una lista de strings
« Respuesta #1 en: 15 Octubre 2015, 15:47 »

a menos que uses alguna funcion de librería tipo split (que internamente igual es un ciclo) o que uses un template (que tambien es un ciclo, solo que "oculto")... tienes que hacer un ciclo...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
ivancea96


Desconectado Desconectado

Mensajes: 3.409


ASMático


Ver Perfil WWW
Re: Cómo convertir un string en una lista de strings
« Respuesta #2 en: 16 Octubre 2015, 10:25 »

Otra opción es usar recursividad, haciendo una función, y llamándose a si misma, dividiendo en cada llamada un espacio.
En línea

geeke

Desconectado Desconectado

Mensajes: 93


Ver Perfil
Re: Cómo convertir un string en una lista de strings
« Respuesta #3 en: 17 Octubre 2015, 16:12 »

Tambien puedes usar goto de esta forma

Código
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.    char str[] = "Pablito clavo un clavito en la calva de un calvito";
  6.    size_t i = 0;
  7.  
  8. start:
  9.    if (str[++i] == '\0')
  10.        goto end;
  11.    if (str[i] == ' ')
  12.        str[i] = '\n';
  13.    goto start;
  14. end:
  15.    printf("%s\n", str);
  16.  
  17.    return 0;
  18. }
  19.  
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Cómo convertir un string en una lista de strings
« Respuesta #4 en: 17 Octubre 2015, 16:21 »

goto no deja de ser un ciclo (terriblemente aplicado)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
ivancea96


Desconectado Desconectado

Mensajes: 3.409


ASMático


Ver Perfil WWW
Re: Cómo convertir un string en una lista de strings
« Respuesta #5 en: 17 Octubre 2015, 17:24 »

A todo esto, en la librería <algorithm> de C++, tienes el método "replace".

Código
  1. string str = "a b c d e f g";
  2. std::replace(str.begin(),str.end(), ' ', '\n');

En caso de que lo que quieras es transformar los espacios en saltos de línea.
En línea

ThunderCls


Desconectado Desconectado

Mensajes: 417


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Cómo convertir un string en una lista de strings
« Respuesta #6 en: 17 Octubre 2015, 20:51 »

Puedes usar la funcion "strtok" y no complicarte tanto la vida  :silbar:
http://www.cplusplus.com/reference/cstring/strtok/


En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
geeke

Desconectado Desconectado

Mensajes: 93


Ver Perfil
Re: Cómo convertir un string en una lista de strings
« Respuesta #7 en: 18 Octubre 2015, 01:38 »

goto no deja de ser un ciclo (terriblemente aplicado)

A que te refieres con terriblemente aplicado?
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Cómo convertir un string en una lista de strings
« Respuesta #8 en: 18 Octubre 2015, 04:33 »

A que te refieres con terriblemente aplicado?

es un ciclo forzoso hecho con goto... el goto se debe usar solo cuando no haya más opción ya que está realmente desaconsejado su uso...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.237


Be the change you wanna see in te world


Ver Perfil
Re: Cómo convertir un string en una lista de strings
« Respuesta #9 en: 18 Octubre 2015, 15:57 »

A que te refieres con terriblemente aplicado?

La utilización de GOTO está considerada una mala práctica de programación, la cual lleva a un código "espagueti".

Deberías leerte este articulo escrito por Edjer Dijkstra para una publicación de la ACM en 1968

Inglés: http://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf
Español: http://www.findthatpdf.com/search-6879333-hPDF/download-documents-gotoesp.pdf.htm

Salu2s
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como convertir un string a datetime en C#
.NET (C#, VB.NET, ASP)
olve 3 20,038 Último mensaje 17 Diciembre 2009, 01:18
por Meta
como convertir string de un archivo a dobles
Programación C/C++
bash 0 1,351 Último mensaje 28 Febrero 2011, 06:44
por bash
Cómo puedo convertir un String a Int en PHP
PHP
blaknez root 2 1,637 Último mensaje 27 Julio 2014, 19:26
por MinusFour
Como convertir int a string y viceversa?
Programación C/C++
j0lama 4 1,668 Último mensaje 29 Noviembre 2014, 20:15
por Orubatosu
¿Como puedo convertir una lista de 350 mil palabras del ingles a mp3?
Foro Libre
bacanzito 2 925 Último mensaje 29 Julio 2016, 07:43
por bacanzito
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines