LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

Порядок байт поменяй https://ru.stackoverflow.com/questions/600774/%D0%98%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA-%D0%B1%D0%B0%D0%B9%D1%82

будет 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, :

Порядок байт поменяй https://ru.stackoverflow.com/questions/600774/%D0%98%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA-%D0%B1%D0%B0%D0%B9%D1%82

будет 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, :

Порядок байт поменяй https://ru.stackoverflow.com/questions/600774/%D0%98%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA-%D0%B1%D0%B0%D0%B9%D1%82

будет 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 записывает как есть, вот и.