私は構造体を指すchar *
を持っています。ここに私の構造である:私はsize
とcodeAction
回復キャストvoid * to char *
struct prot
{
int size;
unsigned short codeAction;
void *data;
};
、今は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'のタイプは何ですか? –