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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Leer elemento a elemento de un fichero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer elemento a elemento de un fichero  (Leído 3,866 veces)
eleon

Desconectado Desconectado

Mensajes: 99


Ver Perfil
Leer elemento a elemento de un fichero
« en: 29 Enero 2012, 23:36 pm »

Buenas:

Me gustaría saber cómo leer de caracter en caracter un documento, por ejemplo:

Código
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int main ()
  6. {
  7.    ifstream ifs ("entrada.txt");
  8.  
  9.    cout << ifs[5]; /*Esto está mal pero viene a sugerir lo que busco
  10.                     Quiero imprimir el elemento número 5 del fichero*/
  11.  
  12.    return 0;
  13. }
  14.  

Está la posibilidad de guardar el contenido del fichero en una tabla con "ifs.getline (tabla, 256)", el caso es que ni sé el tamaño del texto ni me interesa guardarlo todo en una tabla cuyos elementos son del mismo tipo sino en varias tablas para separar los caracteres de los operandos numéricos. Por tanto debo recorrer el fichero elemento a elemento para comprobar su tipo.

Gracias y saludos.


« Última modificación: 29 Enero 2012, 23:56 pm por eleon » En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Leer elemento a elemento de un fichero
« Respuesta #1 en: 30 Enero 2012, 01:50 am »

Cuando yo tenía que leer información de un fichero usaba la redirección de la consola y en el programa únicamente leía de la entrada estándar. Es decir, en mi programa haría lo siguiente:

Código
  1. int main(void){
  2.    int a;
  3.    do{
  4.        a = cin.get();
  5.        //Hacer lo que quieras
  6.    }while(!cin.eof());
  7.  
  8. }

De esta forma vas leyendo byte a byte el fichero. Para ejecutarlo simplemente desde una consola (bash en ubuntu, cmd en windows) haces:
Código:
./miprograma < entrada
y ya con eso lo tienes resuelto.

Otra alternativa es usar ifstream o similares.

Un saludo.


En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Leer elemento a elemento de un fichero
« Respuesta #2 en: 30 Enero 2012, 03:11 am »

Código
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. ifstream datos;
  6.  
  7. int main()
  8. {
  9.    datos.open("c:/log.txt");
  10.    while(!datos.eof())
  11.        cout << (char)datos.get() << endl;
  12.    datos.close();
  13.    return 0;
  14. }
  15.  
  16.  
En línea

eleon

Desconectado Desconectado

Mensajes: 99


Ver Perfil
Re: Leer elemento a elemento de un fichero
« Respuesta #3 en: 1 Febrero 2012, 14:06 pm »

Muchas gracias, lo probaré y comento.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Buscar y eliminar un elemento.
PHP
‭lipman 3 3,028 Último mensaje 8 Diciembre 2008, 22:27 pm
por basantadi
Eliminar un elemento en un Array
Programación Visual Basic
edgar_allan 4 36,935 Último mensaje 16 Enero 2009, 02:17 am
por LeandroA
Duda sobre como borrar un elemento d un arreglo
Programación C/C++
carmelina 3 2,771 Último mensaje 26 Abril 2012, 00:28 am
por carmelina
Big Data - La seguridad como elemento indispensable
Noticias
wolfbcn 0 1,884 Último mensaje 20 Mayo 2013, 21:58 pm
por wolfbcn
Como hacer que cuando pase por un elemento HTML me abra otro elemento con CSS
Desarrollo Web
Drakaris 2 2,899 Último mensaje 2 Octubre 2017, 22:03 pm
por Drakaris
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines