• Jueves 14 de Noviembre de 2024, 23:10

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.


Mensajes - depruebas

Páginas: [1]
1
C/C++ / Re: escribir float en archivo binario
« en: Lunes 24 de Mayo de 2010, 15:34 »
Bueno pues ya esta solucionado el tema, rfog como tu dices en archivo binario creo que no se puede hacer, bueno si se puede pero no lo guarda bien, tambien probé con eso, al final lo deje asi:

void GuardarFechas (Vector libro, int i)
{
ofstream fich;
fich.open ("prueba.bin", ios::binary | ios::app);

if (!fich)
cout << " Error al abrir el archivo ";
else
{
fich.write ((char *) (& libro.precio), sizeof(precio));
fich.write ((char *) (& libro.fecha), sizeof(libro.fecha));
}
fich.close ();
}


me guarda un numero largo (10 cifras) pero luego cuando lo recupero me lo hace bien asi que al final lo dejo asi, no entiendo porque hace eso pero bueno.

Asi que nada todo solucionado, gracias!

2
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]