JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... は s から始まる最大 n バイトのマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これには mblen () 関数のみが使用する静的で名前のないシフト状態が使用 ... される。 マルチバイト文字がヌルワイド文字でなければ s から消費される バイト数を返す。マルチバイト文字がヌルワイド文字ならば 0 を返す。 s から始ま ... る n バイトが完全なマルチバイト文字を含んで いなければ、 mblen () は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれていると、 n が MB_CUR_M ... ... () 関数は s から始まるマルチバイト文字列を 最大 n バイト調べて次の完全なマルチバイト文字を取り出す。 同時にシフト状態 *ps を更新する。 マルチバイト文字がナルワ ... するバイト数を返す。ナルワイド文字ならばシフト状態 *ps を 初期状態に戻して、0 を返す。 s から始まる n バイトの文字列が完全なマルチバイト文字を含んで いない場合には mbrlen () は (size_t) -2 を返す。 マルチバイト文字列に冗長なシフトシーケンスを含まれていると n > ... = MB_CUR_MAX の時にもこのようなことが起こりえる。 s から始まるマルチバイト文字列が、次の完全な文字の前に 不正なマルチバイト列を含んでいる場合には、 mbrlen () は (size_t) -1 を返し errno に EILSEQ が ... ... 関数が用いられる場合、通常 s が NULL でなく pwc も NULL で ない。この場合は、 mbrtowc () 関数は s から始まる最大 n バイトの マルチバイト文字を検査して、次の完全なマルチバイト文字列を取り出し、 それをワイド文字に変換して *pwc に格納する。 同時にシフト状態 *ps を ... ト数を返す。 変換したワイド文字が L'\0' の場合にはシフト状態 *ps を 初期状態に戻して 0 を返す。 s から始まる n バイトが完全なマルチバイト文字を含んでいない 場合には、 mbrtowc () は (size_t) -2 を返す。 マルチバイト文字列に冗長なシフトシーケンスが含まれていると、 ... n >= MB_CUR_MAX の時にもこのようなことが起こりえる。 s から始まるマルチバイト文字列が、次の完全な文字の前に 不正なマルチバイト列を含んでいる場合には、 mbrtowc () は (size_t) -1 を返し、 errno に EILSEQ ... ... のは、 「 inbuf が NULL でなく、かつ *inbuf が NULL でない」 という場合である。 この場合、 iconv () 関数は、 *inbuf で始まるマルチバイト文字列を *outbuf で始まるマルチバイト文字列に変換する。 *inbuf を先頭として最大 *inbytesleft バイトが読み込まれ、 *outbuf を ... 先頭として最大 *outbytesleft バイトが書き出される。 iconv () 関数は 1 度に 1 つのマルチバイト文字を変換する。 そして、各文字変換毎に、変換された入力バイトの数だけ *inbuf を増加させ、 *inbytesleft を減少させる。 また、 ... 換にも対応しており、 バイト出力を伴わずに変換状態を更新することができる。 変換は、次の 4 つの場合に停止する。 1. 入力に無効なマルチバイト文字列があった場合。この場合、 関数は errno を EILSEQ に設定し、 (size_t) -1 を返す。 *inbuf は、無効なマルチバイト文字列の先 ... ... れる場合、通常 s が NULL でなく pwc も NULL でない。この場合は mbtowc () 関数は s から始まる 最大 n バイトのマルチバイト文字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換して *pwc に格納する。 同時に mbtowc 関数のみ ... 指している場合は、 s から消費するバイト数を返す。 s がヌルバイトを指している場合には 0 を返す。 s から始まる n バイトが完全なマルチバイト文字を含んで いない場合や不正なマルチバイト列を含んでいる場合には mbtowc () は -1 を返す。マルチバイト文字列に冗長なシフトシ ... ... が *src から始まる最大 nms バイトに制限されている点が異なっている。 dest が NULL でなければ mbsnrtowcs () 関数は *src からのマルチバイト文字列の最大 nms までを dest からのワイド文字列に変換する。 最大 len 文字のワイド文字が dest に書き込まれる。 同時にシフト状 ... dest が 1 増加させられ、 *src が消費したバイト数だけ増加させられる。変換は以下の三つの いずれかの条件で停止する: 1. 不正なマルチバイト列に遭遇した。この場合には *src は不正な マルチバイト列を指すようにして、 (size_t) -1 を返し、 errno に EILSEQ を設定する。 ... 制限によって強制的に停止するか、 len 文字の L'\0' 以外の ワイド文字を dest に格納した場合。この場合は *src は 次に変換されるマルチバイト列を指すようにして、 dest に書き込まれた ワイド文字の数を返す。 3. マルチバイト文字列が終端のヌルワイド文字 ('\0') まで含めて ... ... mbstate_t * ps ); 説明 dest が NULL でなければ、 mbsrtowcs () 関数は マルチバイト文字列 *src を dest から始まるワイド文字列に 変換する。 dest には最大で len 文字のワイド文字が 書き込まれる。同時にシフト状態 ... dest が 1 増加させられ、 *src が消費したバイト数だけ増加させられる。変換は以下の三つの いずれかの条件で停止する: 1. 不正なマルチバイト列に遭遇した。この場合には *src は不正な マルチバイト列を指すようにして、 (size_t) -1 を返し、 errno に EILSEQ を設定する。 ... 2. len 文字の L'\0' 以外のワイド文字を dest に格納した場合。 この場合は *src は次に変換されるマルチバイト列を指すようにして、 dest に書き込まれたワイド文字の数を返す。 3. マルチバイト文字列が終端のヌルワイド文字 ('\0') まで含めて ... ... en , mbstate_t * ps ); 説明 dest が NULL でなければ、 wcsrtombs () 関数は ワイド文字文字列 *src を dest が指すマルチバイト文字列 に変換する。最大 len バイトまでが dest に書き込まれる。 シフト状態 *ps は更新される。実際の効果としては、この変換は以 ... 増やす。 そして、wcrtomb が成功を返す限りこれを繰り返す。 変換が止まる理由は 3 つ考えられる: 1. (現在のロケールに基づいて)マルチバイト列で表現できないワイド文字に 出会った場合。この場合は、 *src は不正なワイド文字を指した状態になり、 (size_t) -1 が返され、 e ... られる。 プログラマは少なくとも len バイトの領域を dest に確保しな ければならない。 返り値 wcsrtombs () は、変換して得られたマルチバイト列のバイト数を返す。 これには終端の null バイトは含まれない。 変換できないワイド文字に出会った場合には (size_t) -1 が返され、 ... ... 点が異なる。 dest が NULL でなければ、 wcsnrtombs () 関数は ワイド文字文字列の最大 nwc 個までのワイド文字を dest から 始まるマルチバイト文字列に変換する。 dest には最大 len バイ トまで書き込まれる。シフト状態 *ps は更新される。実際の効果とし ては、この変換は以 ... 増やす。 そして、wcrtomb が成功を返す限りこれを繰り返す。 変換が止まる理由は 3 つ考えられる: 1. (現在のロケールに基づいて)マルチバイト列で表現できないワイド文字に 出会った場合。この場合は、 *src は不正なワイド文字を指した状態になり、 (size_t) -1 が返され、 e ... られる。 プログラマは少なくとも len バイトの領域を dest に確保しな ければならない。 返り値 wcsrtombs () は、変換して得られたマルチバイト列のバイト数を返す。 これには終端の null バイトは含まれない。 変換できないワイド文字に出会った場合には (size_t) -1 が返され、 ... ... マルチバイトのシーケンスとして 解釈され、 c をワイド文字にコンバートして返す。 c が EOF もしくは長さ 1 の無効なマルチバイトシーケンスの場合、 btowc () 関数は WEOF を返す。 返り値 btowc () 関数はシングルバイト c からコンバートされたワイド文字を返す ... 。 c が EOF もしくは長さ 1 の無効なマルチバイトシーケンスの場合、 btowc () 関数は WEOF を返す。 属性 この節で使用されている用語の説明については、 attributes (7) を参照。 イ ... 現在のロケールの LC_CTYPE カテゴリーに依存する。 この関数は使用されるべきではない。状態(state)を持ったエンコードには使えず、 マルチバイトシーケンスとは違い、必ずしもシングルバイト を取り扱えるとは限らない。代わりに mbtowc () か、スレッドセーフな mbrtowc () を使 ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。