Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema de strings

Estas en el tema de Problema de strings en el foro de C/C++ en Foros del Web. Hola a todos, Tengo una duda. Necesito una función que recibiendo un string formado por 2 palabras me permita guardar cada una de estas palabras ...
  #1 (permalink)  
Antiguo 18/03/2010, 15:33
 
Fecha de Ingreso: marzo-2010
Mensajes: 1
Antigüedad: 14 años, 1 mes
Puntos: 0
Problema de strings

Hola a todos,

Tengo una duda. Necesito una función que recibiendo un string formado por 2 palabras me permita guardar cada una de estas palabras en otros 2 strings.

Es decir si tengo std::string="Hola mundo";
quiero guardar "Hola" en un string y "mundo" en otro.
¿Existen funciones para hacerlo mediante la clase string o tengo que transformarlo necesariamente en array de caracteres para hacerlo?

Un saludo.
  #2 (permalink)  
Antiguo 18/03/2010, 19:33
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: Problema de strings

la libreria string.h tiene una funcion llamada strtok(char*, char*)
donde el primer parametro es el string completo, y el segundo el separador:

Código C++:
Ver original
  1. char cad[] = "Hola Mundo";
  2. char *separadas = strtok(cad," ");
  3.  
  4. while(separadas != NULL){
  5.  cout<<separadas<<endl;
  6.  separadas = strtok(NULL," ");
  7. }
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #3 (permalink)  
Antiguo 20/03/2010, 18:49
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Problema de strings

Aqui tienes una la función en C++

Código C++:
Ver original
  1. void PartirEnDosStrings(string original ,string & parte1 , string & parte2)
  2. {  
  3.    int i;
  4.    parte1 = original.substr(0,i = original.find(" "));  
  5.    parte2 = original.substr(i+1,original.length());
  6. }

Aqui ejemplo.

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3.  
  4. using namespace std;
  5. void PartirEnDosStrings(string original ,string & parte1 , string & parte2);
  6.  
  7. int main()
  8. {
  9. string text , a , b ;
  10. getline(cin,text);
  11. PartirEnDosStrings(text ,a ,b);
  12. cout<<a<<endl;
  13. cout<<b<<endl;
  14.  
  15. system("PAUSE");
  16. return 0;  
  17. }
  18.  
  19.  
  20. void PartirEnDosStrings(string original ,string & parte1 , string & parte2)
  21. {  
  22.    int i;
  23.    parte1 = original.substr(0,i = original.find(" "));  
  24.    parte2 = original.substr(i+1,original.length());
  25. }

Etiquetas: strings
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:46.