#include "windows.h"
#include "stdafx.h"
#include "stdio.h"
#include "iostream.h"
#include "string.h"
#include "stdlib.h"
#include <malloc.h>
struct daten{
int a;
int b;
int c;
};
int main(int argc, char* argv[])
{
daten dat[3];
dat[0].a=1;
dat[0].b=2;
dat[0].c=3;
dat[1].a=4;
dat[1].b=5;
dat[1].c=6;
dat[2].a=7;
dat[2].b=8;
dat[2].c=9;
int size_array = sizeof(dat);
char *buffer = (char*)malloc((sizeof(size_array)+sizeof(dat)));
memcpy(buffer, (char*)&size_array, sizeof(size_array));
memcpy((buffer+sizeof(size_array)), (char*)&dat, sizeof(dat));
// Ende Sende-Seite sozusagen Anfang von TCP/IP
char c[60];
memcpy(c, buffer, 60);
// Anfang Empfangsseite
daten empf[3];
int sizeOF;
memcpy(&sizeOF, c, sizeof(sizeOF));
memcpy(&empf, c+sizeof(sizeOF) , sizeOF);
cout << "empf[0].a = " << empf[0].a << endl;
cout << "empf[2].c = " << empf[2].c << endl;
free(buffer);
return 0;
};