Ayuda extraer int de un string C++

Iniciado por evicar, 17 Junio 2012, 01:28 AM

0 Miembros y 2 Visitantes están viendo este tema.

evicar

hola a todos tengo un pequeño problemita para la "U" ojala puedan ayudarme;

necesito pasar a variables la siguiente cadena separada por "+" y "/" ej:

25+3/23+6

visitae1=25
locale1=3
visitae2=23
locale2=6

en internet estuve buscando algo que me sirvió pero no lo suficiente ya que no pude pasar a variables los datos, solo pude separarlos.

/* strtok example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] ="25+5/13+6";
  char  * pch;
  pch = strtok (str," +/");
int visitae1;
int locale1;
int visitae2;
int locale2;
  while (pch != NULL)
  {
    printf ("%s\n",pch);
   
 
    pch = strtok (NULL, " +/");
   
   
  }
  system("pause");
 
  return 0;
}



durasno

Hola! busca la funcion atoi


Saludos
Ahorrate una pregunta, lee el man

STANHMAL

para C++ yo utilizo la siguiente función porque siempre me dio problemas el atoi :

Código (cpp) [Seleccionar]

int stringToInt(string val){
   istringstream sstr(val);
   int ival;
   sstr>>ival;
   return ival;
}


PD: tu código es C no C++

$4!u2
Power Metal vs Reggaeton



Que es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red

evicar

Cita de: durasno en 17 Junio 2012, 05:16 AM
Hola! busca la funcion atoi


Saludos
Cita de: STANHMAL en 17 Junio 2012, 05:45 AM
para C++ yo utilizo la siguiente función porque siempre me dio problemas el atoi :

Código (cpp) [Seleccionar]

int stringToInt(string val){
   istringstream sstr(val);
   int ival;
   sstr>>ival;
   return ival;
}


PD: tu código es C no C++

$4!u2
eso serviría pero solo para los primeros numeros, pero yo tambien necesito asignarle una variable a los demas,,,o es muy tonto lo que estoy diciendo? :rolleyes:

STANHMAL

Cita de: evicar en 17 Junio 2012, 06:33 AM
eso serviría pero solo para los primeros numeros, pero yo tambien necesito asignarle una variable a los demas

disculpa pero no entiendo a que te refieres.
Power Metal vs Reggaeton



Que es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red

evicar

Cita de: STANHMAL en 17 Junio 2012, 06:37 AM
disculpa pero no entiendo a que te refieres.
lo voy a poner mas simple; el usuario va a ingresar la hora actual de esta forma "13:42:21" donde 13 seran las horas 42 seran los minutos y 21 seran los segundos, lo que yo necesito hacer es asignarle una variable a las horas otra a los minutos y otra a los segundos...
no se si quedo mas claro ahi...

STANHMAL

lo que tienes que hacer es separar los números en otro string, es decir, si tienes "13:42:21" mandarle a un string diferente "13" y luego llamar a la función, después le mandas el "42" lo conviertes y por ultimo mandas al "21".
Power Metal vs Reggaeton



Que es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red

The Swash

Hola,

Creo que deberías hacer una función para tipo "Split" para buscar datos en base a delimitadores. "strtok" ayudaba en eso pero deberás recorrer todos los posibles "delimitadores".

Un saludo,
Iván Portilla.