#include <wchar.h> int mbsinit(const mbstate_t *ps);
初期状態とは文字列の変換を開始する時の状態である。状態には二種類が 存在し、一つは mbsrtowcs(3) のようなマルチバイトをワイド文字に 変換する関数で使用される。もう一つは wcsrtombs(3) のような ワイド文字をマルチバイトに変換する関数で使用される。しかし両方とも mbstate_t に格納され、初期状態として同じ表現を持つ。
8ビット符号においては全ての状態は初期状態と等価である。 UTF-8, EUC-*, BIG5, SJIS のような多バイト符号においてワイド文字から 多バイト文字への変換関数は非初期状態にはならない。 しかし mbrtowc(3) のような多バイト文字からワイド文字への変換関数では 文字の解釈の途中で非初期状態となる場合がある。
初期状態の mbstate_t を作成する方法の一つは、それをゼロに設定することである:
mbstate_t state; memset(&state, 0, sizeof(state));
Linux においては以下の方法でも同様であるが、コンパイラーの警告が 生成されるかもしれない。
mbstate_t state = { 0 };
mbsinit() は *ps が初期状態に一致するかどうかを検査する。
インターフェース | 属性 | 値 |
mbsinit() | Thread safety | MT-Safe |
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]