[C con Clase] Serializar variables

Ferran Ferri ferranferri en gmail.com
Vie Mar 12 20:53:37 CET 2010


Hola,

tengo una duda. Estoy haciendo un programa que mete clases en
archivos. Necesito una funcion que para algunos atributos (bastante
manual, algunas propiedades que yo elija y ya esta), se copien en modo
binario en un array de unsigned char.

Lo hago asi:
#include <iostream>
#include <algorithm>
using namespace std;
void toArray(unsigned char* data)
{
    int a = 3;
    long b = 444;
    int *pA = &a;
    long *pB = &b;

    cout << "Valor de *pA " <<*pA <<endl;
    memcpy(data,(unsigned char*)pA,sizeof(int));
    data+=sizeof(int);
    cout << "Valor de *pB " <<*pB <<endl;
    memcpy(data,(unsigned char*)pB,sizeof(long));
    data+=sizeof(long);
}
int main(){
    int theArraySize = sizeof(int)+sizeof(long);
    unsigned char* theData = new unsigned char[theArraySize];
    fill_n(theData,theArraySize,0);
    toArray(theData);

    cout << "Hello World!" << endl;
    delete[] theData;
    return EXIT_SUCCESS;
}

Pero segun el debug los resltados no son correctos. Me podeis explicar
como hacerlo, please?
Ferran




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