htonl

    4熱度

    2回答

    我試圖初始化一個全局作用域的const變量,它的值正確地進行了字節交換。 #include <stdio.h> #include <stdint.h> #include <arpa/inet.h> const uint32_t a = ntohl(0x11223344); int main(int argc, char const *argv[]) { printf("%0

    0熱度

    1回答

    穩定僞代碼在以下鏈接中提到。 我想用C++實現它。我無法理解和執行這些操作的標誌,指數和尾數。 how to convert double between host and network byte order? void htond (const double hostDouble, uint8_t result[8]) { result[0] = signOf(hostDouble

    3熱度

    1回答

    到__be32我有一個變量 __be32 x; 我有一個功能 __u32 foo(void){ __u32 a; return a; } 我需要存儲的foo變量x回報。 x=htonl(foo()); 它正確嗎? 我有一個混淆,什麼是ntohl()和htonl()返回類型。它們是否彼此相反? 爲了檢查輸出,我需要重新編譯內核,我不想讓系統出現任何錯誤。所以我在

    0熱度

    1回答

    我在結構中有一個void *值,我需要通過套接字將它發送到服務器。我知道我需要使用 int value = htonl(kv->value); 但是編譯器引發錯誤 passing argument 1 of ‘htonl’ makes integer from pointer without a cast [-Werror] 我也試過鑄造無效*爲int,沒有工作,我用 htonl(*kv-

    2熱度

    2回答

    任何方式將短的2字節短(正常短)轉換爲2字節字符串(char *)後使用htons。事情是htons方法返回一個int(4字節),我怎麼把它放入一個2字節的字符串? 注意:我需要能夠使用結果中的ntohs來獲取原始值。 謝謝建議:d

    1熱度

    1回答

    cout << "Hello World !" << endl; 對於我的第一個職位上的堆棧溢出:當我們應該使用htonl功能?我瀏覽了man page。但是,我並不真正瞭解何時以及如何使用它。

    0熱度

    1回答

    我試圖模仿Python中C程序的某些部分的行爲。他們都在讀取一個二進制文件,其中每條記錄都是長度 - >數據。 C程序會從文件中提取長度字節,不管是正還是負,ntohl()都會返回正確的長度。然而,在Python,即使長度記錄是相同的值,當它的負我發現了一個OverflowError:作爲與C length: 419495936 ntohl: 281 length: -2147418112 Ove

    0熱度

    2回答

    當我將端口寫入SOCKADDR_IN結構時,是否可以使用0x5000而不是htons(80)? (爲什麼0x5000處 - ?我調試htons(80),並返回0x5000處)

    21熱度

    3回答

    我想通過一個套接字傳遞一個32位有符號整數x。爲了讓接收器知道哪個字節順序,我在發送之前調用htonl(x)。 htonl預計會有uint32_t,但我想確定在將我的int32_t投射到uint32_t時會發生什麼情況。 int32_t x = something; uint32_t u = (uint32_t) x; 是否總是在x和u每個字節會完全一樣的情況下?怎麼樣鑄造回: uint32

    0熱度

    4回答

    發送C-側 double tmp = htonl(anydouble); send(socket, (char *) &tmp, sizeof(tmp), 0); 在Java端,即時閱讀網絡數據到一個char [8] 轉換回雙倍的正確方法是什麼? 是否只需發送一個字符串並將其解析爲雙倍?