• Jueves 3 de Julio de 2025, 12:58

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - depruebas

Páginas: [1]
1
C/C++ / escribir float en archivo binario
« en: Sábado 22 de Mayo de 2010, 10:43 »
Buenas es mi primer mensaje en este foro, y esque ya estoy agobiadisimo con el programa que debo hacer, haber el tema es que tengo que hacer una funcion donde le pase precio y fecha de unos libros y me lo guarde en un archivo binario (todo esta en una estructura), con la fecha no tengo problema porque son enteros pero con los float me esribe numeros larguisimos, he probado con cast y no me funciona, hacer vector de enteros para poner el precio pero tampoco ya no se que hacer alguien me dice como hacerlo o me da alguna idea?? Os dejo el codigo que tengo ahora mismo.

void GuardarFechas (Vector libro, int i)
{
     ofstream fich;
     float* ptf = &libro.precio;
     fich.open ("prueba.bin", ios::binary | ios::app);
     
     if (!fich)
         cout << " Error al abrir el archivo ";
     else
     {
         fich.write (reinterpret_cast<char*> (&ptf), sizeof(float));
         fich.write ((char *) (& libro.fecha), sizeof(libro.fecha));
     }
     fich.close ();
}


Normalmente lo tenia asi:

void GuardarFechas (Vector libro, int i)
{
     ofstream fich;
     float* ptf = &libro.precio;
     fich.open ("prueba.bin", ios::binary | ios::app);
     
     if (!fich)
         cout << " Error al abrir el archivo ";
     else
     {
         fich.write ((char*) (&libro.precio), sizeof(float));
         fich.write ((char *) (& libro.fecha), sizeof(libro.fecha));
     }
     fich.close ();
}


y bueno la estructura que tengo es:
struct Fecha
{
    int dia;
    int mes;
    int anyo;
};

struct Libro
{
    string titulo;
    string autor;
    float precio;
    Fecha fecha;
};

Y un vector de la estructura Libro.

Espero que alguno podais ayudarme

Páginas: [1]