文字列の長さを知る

strlen、wcslen、_mbslen、_mbstrlen

【書式】

size_t strlen( const char *string );
size_t wcslen( const wchar_t *string );
size_t _mbslen( const unsigned char *string );
size_t _mbstrlen( const char *string );

【引数】

string NULL終端文字列

【戻り値】

成功時 stringの文字数を返します。この長さには、終端のNULLは含まれません
失敗時 返すべきエラー値はありません

【機能】

strlen関数はstringの文字数を返します。 この長さには、終端のNULL文字('\0')は含まれません。 wcslen関数は、strlen関数のワイド文字バージョンで、引数はワイド文字列です。 それ以外の動作については、wcslenとstrlen関数は同じです。
_mbslenと_mbstrlen関数は、マルチバイト文字列中のマルチバイト文字の数を返します。 _mbslen関数は、現在使用中のマルチバイトコードページに従ってマルチバイト文字の並びを認識しますが、 マルチバイト文字の正当性はテストしません。 _mbstrlen関数は、マルチバイト文字の正当性をテストしてから、 現在のロケールのLC_CTYPEカテゴリの設定に基づいてマルチバイト文字の並びを認識します。 LC_CTYPEカテゴリの詳細については、setlocale関数を参照してください。

【インクルードファイル】

strlen関数関数 string.h
wcslen関数関数 string.h または wchar.h
_mbslen関数関数 mbstring.h
_mbstrlen関数関数 stdlib.h

【必要追加ライブラリ】

なし

使用例

〈サンプルプログラム〉

/* strlen関数を使用して、文字列の長さを取得し、表示します。 */

#include <string.h>
#include <stdio.h>  /* printfを使用するためです */

int main(void)
{
    char buffer[61] = "How long am I?";
    int  len;
    len = strlen(buffer);
    printf("'%s' の長さは %d バイトです。\n", buffer, len);

    return 0;
}

〈出力〉

'How long am I?' の長さは 14 バイトです。