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: