在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獲取域的...