トップページ > キーワード検索 > mblen()
C言語規格
C言語(その他)
プログラム
その他
mblen()
機能 多バイト文字列の一文字のバイト数を検査する。
地域(LC_CTYPE部門)によって結果は異なる
定義 #include <stdlib.h>

int mblen( const char * s, size_t n );
引数
s検査する多バイト文字列
n検査する最大バイト数
戻り値 引数sが正しい多バイト文字を形成する場合、多バイト文字を構成するバイト数を返す。
正しい多バイト文字を形成しない場合は、-1を返す。
実装例
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>

int main(void)
{
    int ret;
    
    /* Cロケール環境 */
    printf("locale='%s'\n", setlocale(LC_CTYPE, NULL));
    ret = mblen("a", MB_CUR_MAX);    /* 1バイト文字 */
    printf("a =%d\n", ret);
    ret = mblen("あ", MB_CUR_MAX);   /* 2バイト文字 */
    printf("あ=%d\n", ret);
    
    /* 日本ロケール環境 */
    printf("locale='%s'\n", setlocale(LC_CTYPE, "Japanese"));
    ret = mblen("a", MB_CUR_MAX);    /* 1バイト文字 */
    printf("a =%d\n", ret);
    ret = mblen("あ", MB_CUR_MAX);   /* 2バイト文字 */
    printf("あ=%d\n", ret);
    
    return 0;
}
実行結果
locale='C'
a =1
あ=-1
locale='Japanese_Japan.932'
a =1
あ=2





inserted by FC2 system