Как я могу изменить порядок байтов целого числа?

Моя задача - преобразовать файл данных из формата с прямым и обратным порядком байтов в обратный и наоборот, используя C. Я искал в Интернете около 3 часов других примеров и читал свой учебник, однако я так зациклен на том, как это начать. функция.

Пока у меня есть правильный порядок событий (от 1 до 4), но внутри моегоconvert_and_save Функция мне нужно создать массив символов с помощью →char buffer[4];?

Может кто-нибудь, пожалуйста, помогите мне? даже если вы просто дадите мне подсказку, что искать, я был бы очень признателен.

Мне нужно написать функцию под названием:

void convert_and_save(struct record item, FILE * output_handle, int number);

внутри этой функции я делаю следующую последовательность шагов:

Преобразуйте целое число в массив символов, используя:

int integer_to_characters(int number, char * buffer)
{
   memcpy(buffer, &number, 4);
}

Обратный порядок символов в этом массиве.

Преобразуйте массив символов в целое число, используя:

int characters_to_integer(char * buffer)
{
   int result;
   memcpy(&result, buffer, 4);
   return result;
}

запишите преобразованную запись в выходной файл, используя:

void save_record(FILE * file_handle, struct record a)
{
   char output_buffer[size_of_record];
   integer_to_characters(a.age, &(output_buffer[0]));
   memcpy(&(output_buffer[4]), a.name, 12);
   integer_to_characters(a.department, &(output_buffer[16]));
   fwrite(output_buffer, sizeof(char), size_of_record, file_handle);
}

Ответы на вопрос(5)

Ваш ответ на вопрос