C++的字串長度獲取辦法
阿新 • • 發佈:2019-01-10
最近在做一些程式題目,需要獲取字串長度。
有這麼幾個函式,卻不知道區別。sizeof() 、strlen()、str.length();
(C/C++ strlen(str)和str.length()和str.size()都可以求字串長度。
其中str.length()和str.size()是用於求string類物件的成員函式
strlen(str)是用於求字元陣列的長度,其引數是char*。)
第一種:strlen(char*)函式求的是字串的實際長度,它求得方法是從開始到遇到第一個'\0',如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。
第二種:sizeof(),求所佔總空間的位元組數。
這裡例如
char[] a={'a','b','c'};
sizeof(a)的值應該為3。
char[] b={"abc"};
sizeof(b)的值應該是4。
若string str={'a','b','c','\0','X'};
那麼sizeof(str)為5,strlen(str)為3。