Когда и как использовать функцию 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