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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Escribiendo un struct en un archivo en binario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Escribiendo un struct en un archivo en binario  (Leído 2,792 veces)
skan


Desconectado Desconectado

Mensajes: 1.360


Ver Perfil
Escribiendo un struct en un archivo en binario
« en: 13 Agosto 2013, 21:56 pm »

Buenas

Sigo leyéndome el libro de Prata y hay una sección en la que explican como escribir archivos en modo binario.

Por ejemplo definen la estructura

Código:
const int LIM = 20;
struct planet
{
char name[LIM];
double population;
double g;
};
planet pl;

Y dicen que puedes usar el modo de escritura texto, en el que hay que especificar cada miembro de la estructura uno a uno, o se puede usar el binario todo de golpe:

Código:
ofstream fout("planets.dat",
ios_base:: out | ios_base::app | ios_base::binary);
fout.write( (char *) &pl, sizeof pl);


Lo que no entiendo es porque se pone
Código:
fout.write( (char *) &pl, sizeof pl)

y no simplemente
Código:
fout.write( pl, sizeof pl)


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Escribiendo un struct en un archivo
« Respuesta #1 en: 13 Agosto 2013, 22:00 pm »

.write espera un puntero char* como argumento. Ahí se hace el apaño cogiendo la dirrecion de la variable (con el operador &) y convirtiendo esa dirrecion en un puntero char*.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
skan


Desconectado Desconectado

Mensajes: 1.360


Ver Perfil
Re: Escribiendo un struct en un archivo en binario
« Respuesta #2 en: 13 Agosto 2013, 22:04 pm »

Gracias, que rápido contestas.
No sabía que write sólo aceptaba un char*
estas son las cosas que no me gustan demasiado de C++, que te meten punteros por todas partes aunque no sean aconsejables
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?
Programación C/C++
Firos 0 5,186 Último mensaje 24 Marzo 2011, 13:47 pm
por Firos
problema escribiendo archivo vb6 api(caracteres raros)
Programación Visual Basic
z_ane_666 4 3,797 Último mensaje 8 Septiembre 2011, 18:02 pm
por x64core
[?] leer binario y guardar en struct dato AYUDA « 1 2 »
Programación C/C++
nolosabe 17 9,848 Último mensaje 29 Octubre 2011, 15:44 pm
por nolosabe
Problema escribiendo un archivo en Python
Scripting
Arnau27 7 4,973 Último mensaje 8 Enero 2012, 12:46 pm
por Arnau27
Error escribiendo en un archivo de texto C#
.NET (C#, VB.NET, ASP)
The_Saint 2 3,691 Último mensaje 3 Mayo 2013, 22:59 pm
por The_Saint
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines