C言語で文字列の長さを知る方法

C言語では他の言語のように文字列の長さを取得する「length」のようなプロパティを持っていません。

C言語の文字列はchar型の配列なので、配列のサイズを知る方法もないので、変数から直接長さを取得することはできません。

この記事では、C言語の正しい文字列の長さを知る方法を紹介します。

文字列の長さを知る方法

C言語で文字列の長さを知るには、標準関数のstrlen関数を使用します。

strlen関数は引数に長さを知りたい文字列変数を指定し、戻り値として文字列長を返します。

strlen関数では引数の終端文字の位置を探して返すため、引数に終端文字が存在しない場合動作未定義となります。

strlen関数を自作

strlen関数の使い方がわかったところで、挙動のさらなる理解を深めるためにstrlen関数を自作してみます。

先述した通りstrlen関数は引数の先頭から走査して終端文字が見つかった位置を返します。

  1. 引数を先頭から走査
  2. 終端文字でなければカウンタをインクリメント
  3. 終端文字なら終了
使うときは標準関数のstrlen関数と同様に引数に長さを知りたい文字列変数を渡します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です