C言語 文字列の長さ(バイト数)を得る strlen

文字列の長さ(バイト数)を得る事ができる関数strlenの紹介です。

#include <stdio.h>
#include <string.h>      // インクルードが必要

void main(void) {
      char str[] = "star";
      size_t len;

      len = strlen(str);
      printf("%d\n", len );
}
4

strlen関数の引数に文字列を指定すると、
その文字数(バイト数)を数値で返します。

戻り値は size_t型となっていますが、
size_t型は、typedef宣言されていて、
unsigned int型(符号なし整数型)と同じになります。

注意するのは、戻り値として返る数値は、
文字数ではなく、バイト数を返す
と言う事です。

半角文字であれば、1文字1バイトですが、
全角文字になると、1文字2バイトになります。

ですから、”star”であれば、4バイト。
“プログラム”であれば、10バイトになります。

これで文字列のバイト数を得る事ができるようになりました。

タイトルとURLをコピーしました