文字列の長さ(バイト数)を得る事ができる関数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バイトになります。
これで文字列のバイト数を得る事ができるようになりました。