История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
будет struct jpg_note jpg = {{0xff,0xd8,0xff,0xfe}, reverse_16( sizeof(tt)), reverse_32(tt)};
Можно превтратить структуру в массив байт
struct jpg_note jpg = {{0xff,0xd8,0xff,0xfe}, sizeof(tt), tt};
char * data = (char)&jpg;
//теперь верти крути этой data как обычным char массивом, например поменять местами 5й и 6й байты
char save = data[6];
data[6] = data[7];
data[7] = save;
/*можно и без save но так понятнее*/
fwrite
записывает как есть, вот и.
Есть ещё станлартная сетевая функция/ции для смены порядка байт, но я забыл как там оно =)
про #pragma pack не забудь, (выше я писал) а то появятся нулевые байты из неоткуда и запутаешься.
Исправление LINUX-ORG-RU, :
будет struct jpg_note jpg = {{0xff,0xd8,0xff,0xfe}, reverse_16( sizeof(tt)), reverse_32(tt)};
Можно превтратить структуру в массив байт
struct jpg_note jpg = {{0xff,0xd8,0xff,0xfe}, sizeof(tt), tt};
char * data = (char)&jpg;
//теперь верти крути этой data как обычным char массивом, например поменять местами 5й и 6й байты
char save = data[6];
data[6] = data[7];
data[7] = save;
/*можно и без save но так понятнее*/
fwrite
записывает как есть, вот и.
Есть ещё станлартная сетевая функция/ции для смены порядка байт, но я забыл как там оно =)
Исходная версия LINUX-ORG-RU, :
будет struct jpg_note jpg = {{0xff,0xd8,0xff,0xfe}, reverse_16( sizeof(tt)), reverse_32(tt)};
Можно превтратить структуру в массив байт
struct jpg_note jpg = {{0xff,0xd8,0xff,0xfe}, sizeof(tt), tt};
char * data = (char)&jpg;
//теперь верти крути этой data как обычным char массивом, например поменять местами 5й и 6й байты
char save = data[6];
data[6] = data[7];
data[7] = save;
/*можно и без save но так понятнее*/
fwrite
записывает как есть, вот и.