Когда и как использовать функцию C++ htonl

cout << "Hello World !" << endl;

Для моего самого первого поста опереполнении стека: когда мы должны использовать htonl функционировать? Я прошел страницу справочника. Однако я не очень понимаю, когда и как его использовать.

1 ответ

Решение

ХОСТ ИНТЕРЬЕР ПЕРЕВОД. Это гарантирует, что порядковый номер 32-битного значения данных является правильным (Big endian) для сетевого транспорта. ntohl - N etwork TO H ost - используется получателем для обеспечения правильности порядкового номера для CPU получателя. Следите за htons и ntohs для обработки 16 битов, и где-то, вероятно, htonll и ntohll для 64 битов.

Использовать их все так же просто, как передать число, которое вы хотите преобразовать, и получить преобразованное число. Вы можете обнаружить, что на некоторых процессорах абсолютно ничего не произошло, потому что их порядок байтов уже велик.

uint32_t inval = 0xAABBCCDD;
uint32_t outval = htonl(inval);

Будет ли на большинстве настольных ПК результат outval установлен на 0xDDCCBBAA

Другие вопросы по тегам