≫ ホーム ≫ C言語ヘッダファイル別一覧 | C言語アルファベット別一覧 ≫ stdlib.h ≫ mblen
多バイト文字 (multibyte character) のバイト長を取得します.
#include <stdlib.h>
int mblen( const char *s, size_t n );
mblen 関数は s が指す多バイト文字のバイト長を取得します.
mblen 関数の動作はその時点のロケール (locale) の LC_CTYPE カテゴリの影響を受けます.
mblen 関数を使用して多バイト文字のバイト長を取得するサンプルプログラムを以下に示します.
/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
/* main */
int main(void) {
char s[] = "あ";
int result;
/* ロケールを変更 */
setlocale(LC_CTYPE, "JPN");
result = mblen(s, 256);
if ( result > 0 ) {
printf("s は %d バイトで形成されています.\n", result);
} else if ( result == 0 ) {
printf("s はナル文字を指しています.\n");
} else {
printf("s は正しい多バイト文字を形成していません.\n");
}
return EXIT_SUCCESS;
}
サンプルプログラムの実行結果は以下のようになります.
s は 2 バイトで形成されています.