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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Explicacion acerca de fstream
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Explicacion acerca de fstream  (Leído 2,293 veces)
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Explicacion acerca de fstream
« en: 23 Mayo 2013, 05:42 am »

buenas hace tiempo que no programaba nada digo c++ la verdad nunca comprendí del todo algunas cosas pero bien ahora me interesa mucho me podrían ayudar con el siguiente problema.

es un fichero binario que almacena datos  una estructura con un solo campo luego de almacenado la información quiero recorrer  con seekg o bien un método mejor recomendado por ustedes.


Alguien me podria explicar...


abajo pongo un ejemplo del código que quiero arreglar.

Código
  1. /*
  2. */
  3.  
  4.  
  5. #include<fstream>
  6. #include<iostream>
  7.  
  8.  
  9. using namespace std;
  10.  
  11.  
  12. struct bin{
  13.   int datp ;
  14.  
  15. };
  16. void WriteBinaryStruct(bin b)
  17. {
  18.    ofstream bina("datos.bin", ios::out|ios::binary|ios::ate);
  19.  
  20. if(bina.is_open()){
  21.  
  22.          ///tendria yo que hacer algo aqui para avanzar ?
  23.          bina.write(reinterpret_cast<char *>(&b), sizeof(b));
  24.   cout << "Se ha escrito un registro."<<endl;
  25.   bina.close();
  26. }else cout << "Error abriendo el archivo."<<endl;
  27.  
  28.  
  29.  
  30. }
  31.  
  32. bin  ReadBinary(int &c){
  33.  ifstream bina("datos.bin", ios::in|ios::binary);
  34. bin b;
  35. if(bina.is_open()){
  36.   bina.seekg(c,ios::beg );
  37.   bina.read(reinterpret_cast<char *>(&b), sizeof(bin));
  38.   cout << "Se ha leido un registro."<<endl;
  39.  
  40.   bina.seekg(0,ios::end);
  41.   int lon = bina.tellg();
  42.   cout << "cantidad de registro leidos :"<< lon/sizeof(bina);
  43.   bina.close();
  44.  
  45. }else cout << "Error abriendo el archivo."<<endl;
  46.  
  47.  
  48.    return b;
  49.  
  50. }
  51.  
  52.  
  53.  
  54. int main(int argc, char *argv[]){
  55.  
  56.     int c(sizeof(bin)) ;
  57.     bin b ={2233};
  58. bin r = {345};
  59. bin b2;
  60. bin b3;
  61. WriteBinaryStruct(b);
  62. b2 = ReadBinary(c);
  63.     c = c*1;                                 ///podria ser 2?
  64.     b3 = ReadBinary(c);
  65. cout<< b2.datp <<endl;
  66. cout<<"Registro leido"<<endl ;
  67. cout<< b3.datp <<endl;
  68. cout<<"Registro leido" ;
  69.   for(;;);
  70.  
  71.  
  72. }
  73.  
  74.  
  75.  


la salida que me da es la siguiente.
[color=blackSe ha escrito un registro.
Se ha leido un registro.
cantidad de registro leidos :17043521Se ha leido un registro.
cantidad de registro leidos :170435214693916
Registro leido
4693916
Registro leido

Process returned 0 (0x0)   execution time : 4.511 s
Press any key to continue.



][/color]
gracias -


« Última modificación: 23 Mayo 2013, 14:18 pm por dummy001 » En línea

gracias por responder mis dudas
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: Explicacion acerca de fstream
« Respuesta #1 en: 24 Mayo 2013, 14:30 pm »

quisiera saber como puedo recorrer los dos registro que se crearon ?
es algo basico pero nunca lo he entendido y buscado por el buscador del foro y nada.

 :-[ :-[


En línea

gracias por responder mis dudas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Explicacion acerca de DVD-R DVD+R DVD-RW DVD+RW
Software
*-.Sub-Vorbio.-* 1 3,732 Último mensaje 10 Mayo 2006, 00:35 am
por дٳŦ٭
Problema con eof, de fstream
Programación C/C++
arcanu 0 2,819 Último mensaje 22 Noviembre 2010, 05:31 am
por arcanu
Practicando con fstream
Programación C/C++
anonimo12121 3 3,027 Último mensaje 3 Abril 2011, 17:17 pm
por anonimo12121
fstream.h
Programación C/C++
laephy 1 6,371 Último mensaje 13 Abril 2011, 23:40 pm
por ssaammuu
Problema con fstream en c++
Programación C/C++
anamnesis_92 5 4,133 Último mensaje 14 Febrero 2012, 11:58 am
por anamnesis_92
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines