Devo serializzare una struttura ma ci sto sbattendo la testa da ieri...
il codice č questo... il problema č che quando ri tira fuori i dati... sono tutti diversi e incomprensibili... qualcuno ha qualche idea?
codice:
struct buffer buf;
main()
{
...
}
void serialize(struct buffer b)
{
int i= 0;
int end = 0;
FILE *pFile;
printf("sono nella serialize(1)\n");
if ((pFile=fopen("s.dat", "wb"))==NULL){
printf("Il file non esiste!"); exit(1);
}
printf("sono nella serialize(2)\n");
while(end=0)
{
fwrite(&b,sizeof(struct buffer),1,pFile);
end =1;
}
fclose(pFile);
printf("Ho anche chiuso il file\n");
}
void deserialize()
{
struct buffer b;
int i= 0;
FILE *pFile2;
printf("sono nella deserialize(1)\n");
if ((pFile2=fopen("s.dat", "rb"))==NULL){
printf("Il file non esiste!"); exit(1);
}
printf("sono nella serialize(2)\n");
while(!feof(pFile2))
{
fread(&b,sizeof(struct buffer),1,pFile2);
}
fclose(pFile2);
printf("1= %d; 2=%s; 3=%s; 4=%d; 5=%d; 6=%d;
7='%s'\n", b.mtype,b.loginDest,
b.loginMitt, b.msgid, b.pid,
b.status, b.mtext);
printBuffer(b);
printf("Ho anche chiuso il file\n");
//return buf;
}