獲取字串 字元陣列的長度

2021-10-05 20:25:52 字數 1145 閱讀 6404

在c/c++中常用的獲取字串長度或者字串陣列長度的函式有

sizeof()

length()

strlen()

size()

其中strlen(str)和str.length()和str.size()都可以用來求字串的長度 。

str.length()和str.size()是用於求string類物件的成員函式

strlen(str) 是用於求字串陣列的長度,其引數是char*

辨析strlen() 與 sizeof() 的區別

strlen(char*)

函式求是字串的實際長度,它可以用來獲取動態實際字元陣列的長度,是從開始到遇到第乙個「\0」,如果只是定義沒有賦予初始值,這個結果是不確定的,它會從陣列的首位址開始一直找下去,直到遇到「\0」停止查詢。

sizeof()

求所佔總空間的位元組數,靜態的,跟初始狀態字元陣列的大小有關係,大小等於初始時字元陣列的大小或者等於初始時字元陣列的大小+1

在c++中,如果定義的是字串陣列的話,那麼如果想獲取陣列的長度,只能用sizeof(陣列名),而不能用strlen(str)。

char str[20]

="0123456789"

;int a=

strlen

(str)

; a=

10;strlen 計算字串的長度,以\0'為字串結束標記。

int b=

sizeof

(str)

; b=20;

sizeof 計算的則是分配的陣列str[

20] 所佔的記憶體空間的大小,不受裡面儲存的內容影響

char

*str1=

"absde"

;char str2=

"absde"

;char str3[8]

=;char ss=

"0123456789"

;輸出:

sizeof

(str1)=4

;sizeof

(str2)=6

;sizeof

(str3)=8

;sizeof

(ss)

=11

獲取字串的長度

php中有乙個神奇的函式,可以直接獲取字串的長度,這個函式就是strlen 例子如下 str hello len strlen str echo len 輸出結果是5strlen函式對於計算英文字元是非常的擅長,但是如果有中文漢字,要計算長度該怎麼辦?可以使用mb strlen 函式獲取字串中中文長...

Oracle獲取字串長度

oracle中常用的字串長度獲取方法,有兩個 lengthb string 和length string b是byte位元組的意思 其中 lengthb string 計算string所佔的位元組長度 返回字串的長度,單位是位元組 length string 計算string所佔的字元長度 返回字串...

shell獲取字串長度

方法1 使用wc l命令 wc l可以獲取到當前行的長度,因此對於單獨行的字串可以用這個簡單的方法獲取,另外wc l則是獲取當前字串內容的行數。如下 echo abc wc l 方法2 expr length string 使用expr length可以獲取string的長度 方法3 awk獲取域的...