首頁>Club>
8
回覆列表
  • 1 # 薄荷糖_微微涼680

    strlen是string中計算字串長度的常用函式,當遇到字串中的'\0'時,strlen會停止計算字串的長度。


    #include <string.h>


    size_t strlen(const char *s);


    strnlen也是string中計算字串長度的常用函式,當遇到字串中的'\0'時,strlen會停止計算字串的長度。


    #define _GNU_SOURCE


    #include <string.h>


    size_t strnlen(const char *s, size_t maxlen);


    當s的長度小於maxlen,strnlen(s,maxlen)與strlen(s)返回結果一致。


    當s的內部有'\0'時,strnlen(s,maxlen)的長度為'\0'之前的字串長度。


    注意事項:


    在使用的過程中,我們經常會遇到strcpy複製字串,若複製的字串長度大於變數申請長度,依然能夠執行成功,而此時再去使用strlen獲取字串長度時,就會發現字串的長度大於sizeof變數的長度。


    栗子:


    char _src[20] = "1234567890";


    char _des[5] = {'\0'};


    strcpy(_des,_src);


    printf("sizeof(_des)=%d--strlen(_des)=%d\n",sizeof(_des),strlen(_des));


    執行結果


    sizeof(_des)=5--strlen(_des)=10


    所以獲取字串長度的時候要用strnlen。

  • 2 # tufei081711

    目前IP地址長度主要有(32)位和(128)位,每段IP地址數字範圍為(0—255 ) IPV4:是32位的。 IPV6:是128位的。

    由於網路中包含的計算機有可能不一樣多,有的網路可能含有較多的計算機,也有的網路包含較少的計算機,於是人們按照網路規模的大小,把32位地址資訊設成三種定位的劃分方式,這三種劃分方法分別對應於A類、B類、C類IP地址。

       1.A類IP地址 一個A類IP地址是指,在IP地址的四段號碼中,第一段號碼為網路號碼,剩下的三段號碼為本地計算機的號碼。如果用二進位制表示IP地址的話,A類IP地址就由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是“0”。

      A類IP地址中網路的標識長度為7位,主機標識的長度為24位,A類網路地址數量較少,可以用於主機數達1600多萬臺的大型網路。 2.B類IP地址 一個B類IP地址是指,在IP地址的四段號碼中,前兩段號碼為網路號碼,B類IP地址就由2位元組的網路地址和2位元組主機地址組成,網路地址的最高位必須是“10”。

      B類IP地址中網路的標識長度為14位,主機標識的長度為16位,B類網路地址適用於中等規模規模的網路,每個網路所能容納的計算機數為6萬多臺。 3.C類IP地址 一個C類IP地址是指,在IP地址的四段號碼中,前三段號碼為網路號碼,剩下的一段號碼為本地計算機的號碼。

  • 中秋節和大豐收的關聯?
  • 1daNm等於多少kn?