-1
我有一个char *
谁指向的结构。这里是我的结构:Cast void * to char *
struct prot
{
int size;
unsigned short codeAction;
void *data;
};
我恢复size
和codeAction
,但现在我想恢复data
。 当我施放我最后的8个字节时,我什么也没有。
下面的代码是只是一个测试,这是一个糟糕的代码:
char lol[4];
for (int i = 0; i < 4; i++)
lol[i] = test[i];
int size = *(int*)lol;
char loli[2];
int index = 0;
for (int i = 4; i < 6; i++)
{
loli[index] = test[i];
index++;
}
int code = *(short*)loli;
char lolo[8];
index = 0;
for (int i = 6; i < size; ++i)
{
lolo[index] = test[i];
index++;
}
void *newData = (char *)lolo; // how can I cast it?
我怎么能显示newData
的内容?
您是如何在第一时间写出数据的?你应该考虑使用一个序列化库来为你处理这些东西。 – NathanOliver
在我看来,你会得到比C++标签更好的c标签响应。 –
'test'的类型是什么? –