char버퍼에 들어있는것을 구조체 변수로 옮기는건데 틀린것좀 봐주세여.ㅠ
이플
2023.04.01
질문 내용 :
시도 내용= 버퍼를 만들어서버퍼 모양을 실제 메모리에 point 구조체가 생성된것 처럼 만드는것typedef struct {
int cnt;
data *data;
} point;
// cnt 갯수만큼 data *data 구조체가 갯수만큼 연달아 붙습니다. 예) cnt2면 data는2개
typedef struct {
int id;
int type;
} data;
char buf[1024];
memset(buf, 0, 1024);
char *ptr = buf;
int cnt = 2;
memcpy(ptr, &cnt, sizeof(cnt));
ptr += sizeof(cnt);
data a, b;
a.id = 99;
a.type = 22;
memcpy(ptr, &a, sizeof(a));
ptr += sizeof(a);
b.id = 99;
b.type = 22;
memcpy(ptr, &b, sizeof(b));
point d;
memcpy(&d, buf, sizeof(point));
printf(%d\n, d.cnt);
printf(%d\n, d.data[0].id);
printf(%d\n, d.data[0].type);
printf(%d\n, d.data[1].id);
printf(%d\n, d.data[1].type);
출력하면 맨위에 cnt만 나오고 ㅠㅠ 그아래부분은 못읽네요...