文字列と文字配列の長さを取得する

文字列の長さまたは文字列配列の長さを取得するためにC / C ++で一般的に使用される関数は、
sizeof()
length()
strlen()
size()であり、

そのうちのstrlen(str)とstr.length()およびstr.size()を使用できます。文字列の長さを見つけるために使用されます。
str.length()とstr.size()は、文字列オブジェクトの検索に使用されるメンバー関数です。strlen(
str)は、文字列配列の長さの検索に使用されます。パラメーターはchar *です
。strlen()とsizeof()の違いの識別

strlen(char *)
関数は、文字列の実際の長さを検出します。定義だけで初期値が与えられていない場合、この結果は、最初から最初の「\ 0」までの動的な実際の文字配列の長さを取得するために使用できます。不明です。「\ 0」に出会うまで配列の最初のアドレスから検索を停止します。

sizeof()
は、静的領域の合計のバイト数を要求します。これは、初期状態の文字配列のサイズに関連します。サイズは、初期文字配列のサイズまたは
C ++の初期文字配列のサイズ+ 1 (定義されている場合)と同じです。文字列配列の場合、配列の長さを取得するには、strlen(str)ではなくsizeof(配列名)しか使用できません。

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]={
    
    'a',};
char ss[] = "0123456789";
输出:
sizeof(str1)=4;
sizeof(str2)=6;
sizeof(str3)=8;
sizeof(ss)=11

おすすめ

転載: blog.csdn.net/weixin_43902941/article/details/105974496
おすすめ