由ntohs引出來的大小位元組序

2021-04-16 01:29:49 字數 929 閱讀 7960

ntohs =net to host short int 16位

htons=host to net short int 16位

ntohl =net to host long int 32位

htonl=host to net long int 32位

ntohs簡述: 將乙個無符號短整形數從網路位元組順序轉換為主機位元組順序。

#include u_short pascal far ntohs( u_short netshort);

乙個以網路位元組順序表達的16位數。

注釋:本函式將乙個16位數由網路位元組順序轉換為主機位元組順序。

返回值:

ntohs()返回乙個以主機位元組順序表達的數。

從網路位元組序轉換為主機位元組序 由於intel都是小端little endian ,網路上都是大端big endian

short 或者 long的資料在進行通訊的時候最好養成:

1、傳送的時候使用:htons(l)

2、接受的時候使用:ntohs(l)

而不要理會兩邊的通訊是否需要這麼做 當然字元型是不需要的~

(to be continue...)

考慮到:

c中的資料型別都是從記憶體的低位址向高位址擴充套件,取址運算"&"都是取低位址。

所以我們可以做乙個函式來判斷大小端

# include 

<

stdio.h

>

intmain(

intargc, 

char

*argv)

...else

printf(

"big endian");

return0;

} 小端採用的是高高低低原則:資料的低位元組存放在記憶體低位址中,高位元組存放在高位址中。

(to be continue....)

字串包含引出來的「勤與懶」故事

今天給學生出了個題目,題目為 輸入任意兩個字串,判斷第乙個字串中是否包含第二個字串。於是使引出了乙個 勤與懶 的故事。學生基本有兩種狀況,很短時間做出來的 這部分佔大多數 很長時間做出來的 當然佔小部分 公共部分 console writeline 請輸入第乙個字串 string str1 cons...

字串包含引出來的「勤與懶」故事

今天給學生出了個題目,題目為 輸入任意兩個字串,判斷第乙個字串中是否包含第二個字串。於是使引出了乙個 勤與懶 的故事。學生基本有兩種狀況,很短時間做出來的 這部分佔大多數 很長時間做出來的 當然佔小部分 公共部分 console writeline 請輸入第乙個字串 string str1 cons...

字串包含引出來的「勤與懶」故事

今天給學生出了個題目,題目為 輸入任意兩個字串,判斷第乙個字串中是否包含第二個字串。於是使引出了乙個 勤與懶 的故事。學生基本有兩種狀況,很短時間做出來的 這部分佔大多數 很長時間做出來的 當然佔小部分 公共部分 console writeline 請輸入第乙個字串 string str1 cons...