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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Obtener primer integer de cada linea
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Obtener primer integer de cada linea  (Leído 3,549 veces)
JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Obtener primer integer de cada linea
« en: 23 Noviembre 2010, 19:01 pm »

Tengo un archivo de texto (creado con el programa) así:
Citar
HORAS TIEMPO
----------------------------------------------------
2 3.00-5.00
10 6.30-16.30

Necesito obtener solo el primer integer de cada línea y hacer une operación (2
10...).

Este es el código que tengo hasta ahora:
Código
  1. fstream haceCuenta(nombArchivo, ios::in | ios::app);
  2.  
  3. while(haceCuenta)
  4. {
  5. std::string lineas;
  6. getline(haceCuenta, lineas);
  7. }
  8.  


« Última modificación: 23 Noviembre 2010, 23:03 pm por Littlehorse » En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: Obtener primer integer de cada linea
« Respuesta #1 en: 23 Noviembre 2010, 22:09 pm »

esta bien.
Ahora para obtener el numero entero tenes que dividir la cadena cada vez que se encuentre un espacio.
Creo que se separa por tabs, como te vi en el post anterior.

Entonces cada parte la guardas en una cadena y después la pasas a numero con la funcion "atoi(cadena_destino, cadena_fuente);"


En línea

piou

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Obtener primer integer de cada linea
« Respuesta #2 en: 23 Noviembre 2010, 22:38 pm »

Puedes volcar la cadena a un array de chars y leer de letra en letra hasta que haya un espacio.
En línea

JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: Obtener primer integer de cada linea
« Respuesta #3 en: 28 Noviembre 2010, 20:57 pm »

Bueno pongo el código:
Código
  1. vector<int> vint;
  2. int n;
  3. string str;
  4. while(!haceCuenta.eof() && !haceCuenta.fail())
  5. {
  6. if(!isdigit(haceCuenta.peek()))
  7. {
  8. getline(haceCuenta, str);
  9. continue;
  10. }
  11. haceCuenta >> n;
  12. vint.push_back(n);
  13. getline(haceCuenta, str);
  14. }
  15. if(!haceCuenta.eof())
  16. {
  17. cout << "Error leyendo el archivo" << endl;
  18. return -1;      
  19. }
  20. int totalHoras=0;
  21. for(vector<int>::size_type x=0; x<vint.size(); ++x)
  22. {
  23. cout << setw(2) << vint[x] << endl;
  24. totalHoras += vint[x];
  25. }
En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
piou

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Obtener primer integer de cada linea
« Respuesta #4 en: 28 Noviembre 2010, 21:04 pm »

En vez de guardar la cadena introducida en un string (a mi no me gustan), guárdala en un char[], y luego recórrelo hasta encontrar un espacio
En línea

JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: Obtener primer integer de cada linea
« Respuesta #5 en: 29 Noviembre 2010, 17:24 pm »

¿Y se puede saber porqué no te gustan?
En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
piou

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Obtener primer integer de cada linea
« Respuesta #6 en: 29 Noviembre 2010, 18:09 pm »

Me da la sensación de que tengo menos control que con un array de chars, pero bueno, serán cosas mias XD. De todos modos en tu caso si lo haces como te he dicho sale más fácil
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Insertar salto de linea cada X caracteres
PHP
Rudy21 2 7,395 Último mensaje 17 Agosto 2008, 16:45 pm
por Rudy21
[Ayuda]Agregar caracteres en el inicio de cada linea de un textbox
Programación Visual Basic
newbie-hack 9 7,417 Último mensaje 6 Marzo 2009, 23:38 pm
por rob1104
Obtener toda la línea con un enter
Programación C/C++
JuszR 8 3,675 Último mensaje 2 Noviembre 2010, 17:18 pm
por Khronos14
eliminar primer y ultimo simbolo de cada linea de texto de un txt o bat
Scripting
binario010101 3 5,141 Último mensaje 26 Diciembre 2013, 03:50 am
por binario010101
BATCH Guardar cada linea de un txt en una varaible
Scripting
juegos0607 1 3,163 Último mensaje 16 Diciembre 2014, 00:11 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines