Вы обрабатываете байты (и вы не храните типы, вы просто храните в них данные).Вы можете либо объявить struct
для заполнения ваших требований, либо скопировать байты данных (например, с memcpy
) в соответствующие местоположения, например что-то вроде
unsigned int lastint;
char* buf;
memcpy (&lastint, buf+6, sizeof(lastint));
Однако имейте в виду, что при работе стакие низкоуровневые двоичные данные делают эти данные и ваше приложение чрезвычайно непереносимыми (и ломкими, так как они ломаются, когда приложение развивается).Существует больше «стандартных» двоичных форматов (например, XDR или ASN1).