文字列の長さを知る
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 バイトです。