C/C++ ポインタ入門 > 文字列関数 > count_char
Nobuhide Tsuda
Nov-2013
文字数を数える:int my_count_char(const char *str, char c)
int my_count_char(const char *str, char c)
{
int n = 0; // 文字数を数えるためのカウンタ
while( *str != '\0' ) { // 終端記号('\0')を見つけるまで繰り返し
if( *str++ == c ) // カウントすべき文字と比較しつつ、ポインタを進める
++n; // 文字数インクリメント
}
return n; // 文字数を返す
}
解説:
- 最初に文字数を数えるためのカウンタ n を用意し、0 で初期化しておきます。
- あとは、str が文字列終端記号のヌル文字('\0')を指すまで、インクリメントしながら文字 c と比較し、
一致していれば n をインクリメントします。
- 最後に、n を関数の値として返します。
- 処理は strlen とよく似ています。strlen が常にカウンタをインクリメントするのに対して、
count_char の方は、文字が一致した時のみカウンタをインクリメントするのが相違点です。
前:
| 次: