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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  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 6,124 veces)
JonaLamper


Desconectado Desconectado

Mensajes: 394



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

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 pm 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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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.412


ASMático


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

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 pm »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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.412


ASMático


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

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: 455


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 pm »

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 am »

goto no deja de ser un ciclo (terriblemente aplicado)

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

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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.263


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 pm »

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 22,465 Último mensaje 17 Diciembre 2009, 01:18 am
por Meta
como convertir string de un archivo a dobles
Programación C/C++
bash 0 2,187 Último mensaje 28 Febrero 2011, 06:44 am
por bash
Cómo puedo convertir un String a Int en PHP
PHP
blaknez root 2 2,615 Último mensaje 27 Julio 2014, 19:26 pm
por MinusFour
Como convertir int a string y viceversa?
Programación C/C++
j0lama 4 3,358 Último mensaje 29 Noviembre 2014, 20:15 pm
por Orubatosu
¿Como puedo convertir una lista de 350 mil palabras del ingles a mp3?
Foro Libre
bacanzito 2 2,201 Último mensaje 29 Julio 2016, 07:43 am
por bacanzito
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines