-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'的類型是什麼? –