[C con Clase] Duda y errores con manejo de ficheros

Oscar pelucheloko en hotmail.com
Sab Jul 21 02:24:39 CEST 2012


Hola que tal.

He hecho dos programillas, uno para escribir en un archivo binario los datos de una estructura, datos de variables miembro (no se si se diría así), luego posteriormente los quiero recuperar en otro código, pero no soy capaz, no alcanzo a ver lo que hago mal.

Primero os pego el código del programa que crea el binario donde van los datos:

#include <fstream>
#include <iostream>
using namespace std;

struct tficha {
    char nombre[256];
    long telefono;
    };

int main()
{
    tficha ficha;
    int n;

    ofstream vfile;
    vfile.open("pruebas.dat", ios::binary);

    for(n=0; n<=3; n++)
    {
        cout << "escriba su nombre: ";
        cin >> ficha.nombre;
        vfile << ficha.nombre;
        cout << "escriba un telefono: ";
        cin >> ficha.telefono;
        vfile << ficha.telefono;
        vfile.write((char *) &ficha, sizeof(ficha));
    }
    vfile.close();
}

Luego aquí va el código del programa que debería leer esos datos:

#include <fstream>
#include <iostream>
using namespace std;

struct tficha {
    char nombre[256];
    long telefono;
    };

int main()
{
    tficha ficha;
    int n;

    ifstream vfile;
    vfile.open("pruebas.dat", ios::in | ios::binary);

    vfile.read((char *) &ficha, sizeof(ficha));
    while (!vfile.eof())
    {
        cout << "nombre: " << ficha.nombre << endl;
        cout << "telefono: " << ficha.telefono << endl;
        vfile.read((char *) &ficha, sizeof(ficha));
    };
    vfile.close();
}

Haber si me pueden aclarar por favor, un saludo y gracias.

Oscar Aparicio Holgado
Administrador de sistemas.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120721/f9ecc350/attachment.html>


Más información sobre la lista de distribución Cconclase