Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Ayuda: Guardar un vector de elementos en disco

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

Ayuda: Guardar un vector de elementos en disco

Notapor jvaello el Mar Ago 09, 2005 4:15 am

Saludos,

Necesito que me ayudeis para saber un poco como guardar un vector de enteros en disco duro. Si tengo:

int v_elemetos[10];

for (i=0;i<10:i++)
v_elementos[i] = i;

y lo quiero guardar en disco. Mi aplicación es SDI, pero me basta con que me deis una guia de por donde ir

MUCHAS GRACIAS
jvaello
Novato
Novato
 
Mensajes: 6
Registrado: Jue Jul 14, 2005 10:29 am

Re: Ayuda: Guardar un vector de elementos en disco

Notapor latindeveloper el Mar Ago 09, 2005 8:18 am

Utilizando MFC:

Para guardar;

Código: Seleccionar todo
int v_elementos[10];

for (int i=0;i<10;i++)
   v_elementos[i] = i;

CFile archivo;
CFileException exp;

if(archivo.Open("guardar.txt",CFile::modeWrite|CFile::modeCreate,&exp))
{
   archivo.Write(&v_elementos,sizeof(v_elementos));
   archivo.Close();
}else
{
   exp.ReportError();
}


Para recuperar:

Código: Seleccionar todo
int v_elementos[10];

CFile archivo;
CFileException exp;

if(archivo.Open("guardar.txt",CFile::modeRead,&exp))
{
   archivo.Read(&v_elementos,sizeof(v_elementos));
   archivo.Close();
}else
{
   exp.ReportError();
}
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Notapor jvaello el Mar Ago 09, 2005 10:06 am

Gracias por la respuesta, me habeis ayudado mucho. Tengo otra duda parecida, me gustaría que tambien me ayudaseis.

¿Se puede salvar de alguna forma una estructura como esta en disco?

clase_1 v_elementos[10];

siendo clase_1 una clase normal:

class clase_1{
private:
int atributo1;
public:
int atributo2;

............

}

Muchas gracias de verdad, para mi es muy importante la ayuda que me prestais.
jvaello
Novato
Novato
 
Mensajes: 6
Registrado: Jue Jul 14, 2005 10:29 am

Notapor latindeveloper el Mar Ago 09, 2005 10:11 am

La forma de guardar y recuperar es la misma.
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Notapor jvaello el Mar Ago 09, 2005 10:59 am

Quieres decir, entonces, que da lo mismo que sea un vector de enteros que de elementos de una clase, ¿no? Sólo importa el tamaño que ocupará.

Gracias de nuevo y enhorabuena por la web y por la ayuda que dais.
jvaello
Novato
Novato
 
Mensajes: 6
Registrado: Jue Jul 14, 2005 10:29 am

Serialización

Notapor latindeveloper el Jue Ago 11, 2005 12:26 pm

Lo que necesitas entonces es como serializar un objeto, es posible utilizar tu clase de la siguiente manera:

Código: Seleccionar todo
CMiClse obj;

//para guardar
archivo<<obj;

//para recuperar
archivo>>obj;


Lee el siguiente mensaje:

http://www.latindevelopers.com/forum/viewtopic.604.html
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados