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

Separa char para usar en otra variable

Estas en el tema de Separa char para usar en otra variable en el foro de C/C++ en Foros del Web. // Estoy separando la variable (char) nombreEdad y funciona bien // El resultado por pantalla es : // Luis // 20 // Me gustaría saber ...
  #1 (permalink)  
Antiguo 18/03/2017, 17:19
 
Fecha de Ingreso: julio-2015
Mensajes: 15
Antigüedad: 9 años, 4 meses
Puntos: 0
Separa char para usar en otra variable

// Estoy separando la variable (char) nombreEdad y funciona bien
// El resultado por pantalla es :
// Luis
// 20
// Me gustaría saber como podría poner el nombre Luis en una variable char diferente, y el numero 20 en una variable de tipo int, espero me entiendan y puedan ayudar gracias.

Código C++:
Ver original
  1. char nombreEdad[] = "Luis 20";
  2. char* a;
  3.  
  4.     a = strtok(nombre, " ");
  5.     while(a != NULL)    {
  6.  
  7.  
  8.         cout << a << endl;
  9.         a = strtok(NULL, " ");
  10.  
  11.     }
  #2 (permalink)  
Antiguo 23/03/2017, 00:55
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 9 meses
Puntos: 3
Respuesta: Separa char para usar en otra variable

Pues si siempre usas el mismo formato puedes usar un contador con un condicional para saber cuando tendrías la edad y dentro de ese condicional usas atoi para pasar de cadena a int. Otra opción seria usar un array de punteros y almacenar en ellos los valores devueltos por strtok con lo que cada puntero apuntaría a una parte de la cadena y luego de salir del bucle conviertes de cadena a int con atoi.
  #3 (permalink)  
Antiguo 23/03/2017, 03:14
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Separa char para usar en otra variable

Cuando ejecutas strtok por segunda vez, a está apuntando a "20", pero como cadena de caracteres. Si quieres guardar ese valor como entero, puedes utilizar la función atoi. Por ejemplo:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7.     char    nombreEdad[] = "Luis 20";
  8.     char    *a;
  9.     int     n;
  10.  
  11.     a = strtok(nombre, " ");
  12.     cout << a << endl;
  13.     a = strtok(NULL, " ");
  14.     n = atoi(a);
  15.     cout << n << " " << n/2 << endl;
  16.     // Así ves que te ha cogido correctamente el valor de n
  17. }

Saludos,

Etiquetas: char, int, usar, variable
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 11:35.