Как я могу сериализировать двойные и плавающие в C?
У меня есть следующий код для сериализации шорт, ints и символов.
unsigned char * serialize_char(unsigned char *buffer, char value)
{
buffer[0] = value;
return buffer + 1;
}
unsigned char * serialize_int(unsigned char *buffer, int value)
{
buffer[0] = value >> 24;
buffer[1] = value >> 16;
buffer[2] = value >> 8;
buffer[3] = value;
return buffer + 4;
}
unsigned char * serialize_short(unsigned char *buffer, short value)
{
buffer[0] = value >> 8;
buffer[1] = value;
return buffer + 2;
}
Edit:
Я нашел эти функции из этого вопроса
Изменить 2:
Целью сериализации является передача данных в сокет UDP и гарантирование того, что его можно десериализовать на другом компьютере, даже если он отличается от другого. Существуют ли другие "лучшие практики" для выполнения этой функциональности, учитывая, что мне приходится сериализовать int, double, floats и char *?