Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2014, 14:40
Avatar de patilanz
patilanz
 
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Error raro con archivos binarios

Hola en este codigo:
Código C++:
Ver original
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <fstream>
  4. #include <string>
  5. using namespace std;
  6.  
  7. class name{
  8.     string n;
  9. public:
  10.     name(string N=""):n(N){}
  11.     string getName()const{return n;}
  12. };
  13.  
  14. int _tmain(int argc, _TCHAR* argv[])
  15. {
  16.     fstream file("data.dat",ios::in | ios::out | ios::binary);
  17.     name N;
  18.     file.seekg(0);
  19.     file.read(reinterpret_cast<char *>(&N),sizeof(name));
  20.     if(!file.fail())
  21.         cout << "Good!";
  22.     getchar();
  23.    
  24.     return 0;
  25. }

Despues de ejecutar un programa para crear el archivo he insertar en el la clase name simplemente por probar porque pasa esto y ahora en este programa cuando termina creo que se ejecuta el destructor de file y me lanza un error de infraccion de acceso de memoria

Código error:
Ver original
  1. Excepción no controlada en 0x51DDCCC8 (msvcp110d.dll) en Files_random_acces.exe: 0xC0000005: Infracción de acceso al leer la ubicación 0x01278B9C.

Por que??

Última edición por patilanz; 14/03/2014 a las 09:04