Available in

(3) (3)/es (3)/fr (3)/ja (3)/pl (3)/pt (3c) (3posix)

TOC

WCRTOMB(3)                 Linux Programmer's Manual                WCRTOMB(3)



名樵前

       wcrtomb - ワイド文字 1 つをマルチバイト列に変換する

書饉式

       #include <wchar.h>

       size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);

説睫明

       この関数が主に使われるのは、s    が    NULL    でなく、wc    が   L'\0'
       でない場合である。   この場合には、   wcrtomb()   関数はワイド文字   wc
       をマルチバイト表           現に変換し、s           が指す          char
       型の配列にこれを格納する。この関数は           シフト状態           *ps
       を更新し、出力されたマルチバイト表現の長さ、すな    わち    s    に書-
       込まれたバイト数を返す。

       別のケースとしては、s  は  NULL   でないが   wc   が   L'\0'   のことが
       ある。この場合の     wcrtomb()    関数は、*ps    を初期状態に戻すのに必
       要なシフトシーケンスを  s  が指す  char  型配列に格納し、その後に  '\0'
       を格納する。この関数はシフト状態     *ps    を更新し(つまり初期状態に戻
       し)、シフトシーケンスの長さに 1 を加えた値を返す。この値は  s  に  書-
       込まれたバイト数である。

       三番目のケースは、s    が    NULL    の時である。この場合には   wc   は
       無視され、関数の実際の効果としては     wcrtomb(buf,L'\0',ps)     と同じ
       値が返される。ここで、buf は内部的な匿名のバッファである。


       以上のいずれの場合も、ps    が    NULL   ポインタならばシフト状態は用い
       られず、 wcrtomb() 関数だけが知っている静的な匿名の状態が使われる。

返屬り蠱値

       wcrtomb() 関数は、s が指すバイト列に書すまれたバイト数、あ  るいは書-
       込まれたであろうバイト数を返す。wc                  を(現在のロケールに
       従って)マルチバイト列で表現でい覆韻譴弌 (size_t) -1  が返され、  errnoEILSEQ が設定される。

準犁拠

       C99.

注躇意

       wcrtomb() の動作は、現在のロケールの LC_CTYPE カテゴリに依存する。

       ps に NULL を渡した際の動作はマルチスレッドセーフでない。

関慙連項猝目

       wcsrtombs(3)



GNU                               1999-07-25                        WCRTOMB(3)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.