[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re[2]: Как это понимать



Привет, программерам :)

>> > Victor Wagner убедил меня, читаю побайтно а затем аккуратно собираю
>> > все целые числа из байтов с помощью сдвигов и сложения.
>>
>> Хмм, а почему сразу не читать в переменные short/long, а байты
>> переставлять только при необходимости?

DN> Просто разные архитектуры по разному представляют числа в памяти. Т.е на одной 
DN> системе число 0x1234 (short) будет в памяти (а соответственно и при чтении) 
DN> как 2 байта: 0x12 0x34, а на другой: 0x34 0x12

Хорошо, замечательно. Возми и сделай сам с собой соглашение - хранить в
файле в сетевом порядке (BE). Читать из файла лонги, шорты и инты как тебе
нужно, а затем юзаешь функции: ntohs, ntohl. А перед сохранением юзаешь
htons и htonl, соответственно.  И не паришься на какой ты архитектуре: если
что-то надо поменять местами, там поменяется автоматом.

Макс.

ЗЫЖ #include <netinet/in.h>




Reply to: