C言語の文字列の長さを求める方法
C言語では文字列は文字配列で保持され、NULL文字(‘\0’)で終了します。文字列の長さを取得するには、C言語が提供する文字列処理関数strlen()を使用します。
strlen()関数のプロトタイプは次のとおりです。
size_t strlen(const char *str);
str は長さを計算する文字列で、戻り値はその文字列の長さで、NULL 文字は含まれません。
以下の例をご覧ください。
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
int len = strlen(str);
printf("Length of string: %d\n", len);
return 0;
}
ネイティブな日本語で文章を言い換える、オプションは 1 つだけ必要があります。出力が:
Length of string: 13
strlen()関数を用いずに文字列の長さを計算する関数を作成するには、文字列配列をNULL文字に到達するまで反復し、カウントした反復回数が文字列長となるようにします。
#include <stdio.h>
int stringLength(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[] = "Hello, world!";
int len = stringLength(str);
printf("Length of string: %d\n", len);
return 0;
}
結果は前のコードと同様です。