トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
| 概要 |
マルチバイト文字のバイト数を調べる。 |
|
| ヘッダ | ||
| 形式 |
size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps); |
|
| 引数 |
s |
対象のマルチバイト文字を指すポインタ。 |
|
n |
調べる最大バイト数。 |
|
|
ps |
変換状態を管理する変数へのポインタ。またはヌルポインタ。 |
|
| 戻り値 |
引数s が指すバイト(引数 s がヌルポインタの場合は ““)から、引数n で指定したバイト数だけを調べ、それがマルチバイト文字として有効なバイト列として完結していれば、マルチバイト文字を構成するバイト数を返す。有効なバイト列でなければ -1 を size_t型にキャスト📘した値を返す。引数s がヌル文字(‘\0’) を指している場合は 0 を返す。 引数n のバイト数分だけではマルチバイト文字として完結しない場合は、-2 を size_t型にキャストした値を返す。この場合、続きのバイトを調べれば有効なマルチバイト文字であるかもしれないし、そうではないかもしれない。 |
|
| 詳細 |
mbstate_t型の引数を持つことを除いて、mblen関数と同じである。mbstate_t型の引数は、変換状態を記憶するためにあり、たとえば、マルチバイト文字を構成する途中のバイトで処理を止めても、その続きから処理を再開することが可能になっている。 |
|
| 注意 | ||
| 使用例 |
実行結果:
|
|
| 関連 |
再開可能な形ではないが、同じ役割を果たす mblen関数がある。 |
|
| 解説章 | ||
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
() の前後の空白の空け方)( の直後、) の直前に空白を入れない)return 0; を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ
| はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
| X で ポスト/フォロー | LINE で送る | noteで書く |
|
|
管理者情報 | プライバシーポリシー |